home *** CD-ROM | disk | FTP | other *** search
/ Complete Internet Archive / Complete Internet Archive.iso / Web Boards / WebForum_tar(2).Z / WebForum_tar(2)
Tape Archive  |  1997-01-26  |  136.0 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: Tape Archive (archive/tar).

You can browse this item here: WebForum_tar(2)

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Tape Archive (archive/tar) magic Supported
100% file tar archive default
99% file tar archive (V7), file WebForum/, mode 755 , uid 73757 , gid 73754 , size 0 , seconds 5710735520 default
98% file data default
100% lsar Tar default
100% gt2 Kopftext: 'WebForum/' default (weak)
100% disktype Pre-POSIX tar archive default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 57 65 62 46 6f 72 75 6d | 2f 00 00 00 00 00 00 00 |WebForum|/.......|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000050| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000060| 00 00 00 00 20 20 20 37 | 35 35 20 00 20 37 33 37 |.... 7|55 . 737|
|00000070| 35 37 20 00 20 37 33 37 | 35 34 20 00 20 20 20 20 |57 . 737|54 . |
|00000080| 20 20 20 20 20 20 30 20 | 20 35 37 31 30 37 33 35 | 0 | 5710735|
|00000090| 35 32 30 20 20 20 35 37 | 34 31 00 20 00 00 00 00 |520 57|41. ....|
|000000a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000100| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000110| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000120| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000130| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000140| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000150| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000170| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000180| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000190| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000200| 57 65 62 46 6f 72 75 6d | 2f 73 72 63 2f 00 00 00 |WebForum|/src/...|
|00000210| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000220| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000230| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000240| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000250| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000260| 00 00 00 00 20 20 20 37 | 35 35 20 00 20 37 33 37 |.... 7|55 . 737|
|00000270| 35 37 20 00 20 37 33 37 | 35 34 20 00 20 20 20 20 |57 . 737|54 . |
|00000280| 20 20 20 20 20 20 30 20 | 20 35 37 31 30 36 37 33 | 0 | 5710673|
|00000290| 32 35 34 20 20 20 36 35 | 33 35 00 20 00 00 00 00 |254 65|35. ....|
|000002a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000300| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000310| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000320| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000330| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000340| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000350| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000360| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000370| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000380| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000390| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000400| 57 65 62 46 6f 72 75 6d | 2f 73 72 63 2f 6d 6b 61 |WebForum|/src/mka|
|00000410| 63 63 65 73 73 2e 70 6c | 00 00 00 00 00 00 00 00 |ccess.pl|........|
|00000420| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000430| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000440| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000450| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000460| 00 00 00 00 20 20 20 37 | 35 35 20 00 20 37 33 37 |.... 7|55 . 737|
|00000470| 35 37 20 00 20 37 33 37 | 35 34 20 00 20 20 20 20 |57 . 737|54 . |
|00000480| 20 20 20 31 35 36 32 20 | 20 35 37 30 37 34 31 36 | 1562 | 5707416|
|00000490| 33 34 37 20 20 31 30 37 | 36 33 00 20 00 00 00 00 |347 107|63. ....|
|000004a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000500| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000510| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000520| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000530| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000540| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000550| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000560| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000570| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000580| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000590| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000600| 23 0a 23 20 6d 6b 61 63 | 63 65 73 73 2e 70 6c 3a |#.# mkac|cess.pl:|
|00000610| 20 6d 61 6b 65 20 61 6e | 20 61 63 63 65 73 73 20 | make an| access |
|00000620| 66 69 6c 65 0a 23 0a 23 | 20 43 6f 70 79 72 69 67 |file.#.#| Copyrig|
|00000630| 68 74 20 28 43 29 20 31 | 39 39 34 2c 20 41 66 7a |ht (C) 1|994, Afz|
|00000640| 61 6c 20 42 61 6c 6c 69 | 6d 0a 23 0a 23 20 4c 61 |al Balli|m.#.# La|
|00000650| 73 74 20 4d 6f 64 69 66 | 69 65 64 3a 20 44 41 54 |st Modif|ied: DAT|
|00000660| 45 0a 23 20 61 72 67 75 | 6d 65 6e 74 73 3a 20 31 |E.# argu|ments: 1|
|00000670| 73 74 20 69 73 20 61 63 | 63 65 73 73 20 66 69 6c |st is ac|cess fil|
|00000680| 65 20 6e 61 6d 65 0a 23 | 20 20 20 20 20 20 20 20 |e name.#| |
|00000690| 20 20 20 20 32 6e 64 20 | 69 73 20 70 61 73 73 77 | 2nd |is passw|
|000006a0| 6f 72 64 20 66 69 6c 65 | 20 6e 61 6d 65 0a 23 20 |ord file| name.# |
|000006b0| 20 20 20 20 20 20 20 20 | 20 20 20 33 72 64 20 69 | | 3rd i|
|000006c0| 73 20 67 72 6f 75 70 20 | 66 69 6c 65 20 6e 61 6d |s group |file nam|
|000006d0| 65 0a 23 20 20 20 20 20 | 20 20 20 20 20 20 20 69 |e.# | i|
|000006e0| 66 20 74 68 65 72 65 27 | 73 20 61 20 34 74 68 20 |f there'|s a 4th |
|000006f0| 61 72 67 75 6d 65 6e 74 | 2c 20 74 68 61 74 20 69 |argument|, that i|
|00000700| 6e 64 69 63 61 74 65 73 | 20 74 68 61 74 0a 23 20 |ndicates| that.# |
|00000710| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 77 65 62 | | web|
|00000720| 66 6f 72 75 6d 20 73 68 | 6f 75 6c 64 20 61 6c 73 |forum sh|ould als|
|00000730| 6f 20 62 65 20 70 75 74 | 20 69 6e 74 6f 20 74 68 |o be put| into th|
|00000740| 65 20 67 72 6f 75 70 0a | 0a 24 69 3d 40 41 52 47 |e group.|.$i=@ARG|
|00000750| 56 5b 30 5d 3b 0a 24 70 | 66 3d 40 41 52 47 56 5b |V[0];.$p|f=@ARGV[|
|00000760| 31 5d 3b 0a 24 67 66 3d | 40 41 52 47 56 5b 32 5d |1];.$gf=|@ARGV[2]|
|00000770| 3b 0a 69 66 20 28 24 23 | 41 52 47 56 3d 33 20 26 |;.if ($#|ARGV=3 &|
|00000780| 26 20 40 41 52 47 56 5b | 33 5d 20 65 71 20 22 61 |& @ARGV[|3] eq "a|
|00000790| 6c 6c 22 29 20 7b 0a 20 | 24 57 46 3d 27 61 6c 6c |ll") {. |$WF='all|
|000007a0| 27 3b 0a 7d 20 65 6c 73 | 65 20 7b 0a 20 24 57 46 |';.} els|e {. $WF|
|000007b0| 3d 27 6d 61 73 74 65 72 | 27 3b 0a 7d 0a 0a 6f 70 |='master|';.}..op|
|000007c0| 65 6e 28 46 2c 22 3e 24 | 69 22 29 20 7c 7c 20 64 |en(F,">$|i") || d|
|000007d0| 69 65 20 22 43 6f 75 6c | 64 6e 27 74 20 6d 61 6b |ie "Coul|dn't mak|
|000007e0| 65 20 24 69 5c 6e 22 3b | 0a 70 72 69 6e 74 20 46 |e $i\n";|.print F|
|000007f0| 20 3c 3c 45 4f 4d 3b 0a | 41 75 74 68 55 73 65 72 | <<EOM;.|AuthUser|
|00000800| 46 69 6c 65 20 24 70 66 | 0a 41 75 74 68 47 72 6f |File $pf|.AuthGro|
|00000810| 75 70 46 69 6c 65 20 24 | 67 66 0a 41 75 74 68 4e |upFile $|gf.AuthN|
|00000820| 61 6d 65 20 57 65 62 46 | 6f 72 75 6d 0a 41 75 74 |ame WebF|orum.Aut|
|00000830| 68 54 79 70 65 20 42 61 | 73 69 63 0a 45 4f 4d 0a |hType Ba|sic.EOM.|
|00000840| 0a 69 66 20 28 24 57 46 | 20 65 71 20 27 61 6c 6c |.if ($WF| eq 'all|
|00000850| 27 29 20 7b 0a 70 72 69 | 6e 74 20 46 20 3c 3c 45 |') {.pri|nt F <<E|
|00000860| 4f 4d 31 3b 0a 3c 4c 69 | 6d 69 74 20 50 4f 53 54 |OM1;.<Li|mit POST|
|00000870| 3e 0a 72 65 71 75 69 72 | 65 20 67 72 6f 75 70 20 |>.requir|e group |
|00000880| 77 65 62 6d 61 73 74 65 | 72 73 0a 72 65 71 75 69 |webmaste|rs.requi|
|00000890| 72 65 20 67 72 6f 75 70 | 20 77 65 62 66 6f 72 75 |re group| webforu|
|000008a0| 6d 0a 3c 2f 4c 69 6d 69 | 74 3e 0a 3c 4c 69 6d 69 |m.</Limi|t>.<Limi|
|000008b0| 74 20 47 45 54 3e 0a 72 | 65 71 75 69 72 65 20 67 |t GET>.r|equire g|
|000008c0| 72 6f 75 70 20 77 65 62 | 6d 61 73 74 65 72 73 0a |roup web|masters.|
|000008d0| 72 65 71 75 69 72 65 20 | 67 72 6f 75 70 20 77 65 |require |group we|
|000008e0| 62 66 6f 72 75 6d 0a 3c | 2f 4c 69 6d 69 74 3e 0a |bforum.<|/Limit>.|
|000008f0| 45 4f 4d 31 0a 7d 20 65 | 6c 73 65 20 7b 0a 70 72 |EOM1.} e|lse {.pr|
|00000900| 69 6e 74 20 46 20 3c 3c | 45 4f 4d 32 3b 0a 3c 4c |int F <<|EOM2;.<L|
|00000910| 69 6d 69 74 20 50 4f 53 | 54 3e 0a 72 65 71 75 69 |imit POS|T>.requi|
|00000920| 72 65 20 67 72 6f 75 70 | 20 77 65 62 6d 61 73 74 |re group| webmast|
|00000930| 65 72 73 0a 3c 2f 4c 69 | 6d 69 74 3e 0a 3c 4c 69 |ers.</Li|mit>.<Li|
|00000940| 6d 69 74 20 47 45 54 3e | 0a 72 65 71 75 69 72 65 |mit GET>|.require|
|00000950| 20 67 72 6f 75 70 20 77 | 65 62 6d 61 73 74 65 72 | group w|ebmaster|
|00000960| 73 0a 3c 2f 4c 69 6d 69 | 74 3e 0a 45 4f 4d 32 0a |s.</Limi|t>.EOM2.|
|00000970| 7d 0a 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |}.......|........|
|00000980| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000990| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a00| 57 65 62 46 6f 72 75 6d | 2f 73 72 63 2f 66 6f 72 |WebForum|/src/for|
|00000a10| 75 6d 2e 70 6c 00 00 00 | 00 00 00 00 00 00 00 00 |um.pl...|........|
|00000a20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a60| 00 00 00 00 20 20 20 37 | 35 35 20 00 20 37 33 37 |.... 7|55 . 737|
|00000a70| 35 37 20 00 20 37 33 37 | 35 34 20 00 20 20 20 20 |57 . 737|54 . |
|00000a80| 20 20 20 35 33 35 34 20 | 20 35 37 30 37 34 31 36 | 5354 | 5707416|
|00000a90| 33 34 37 20 20 31 30 33 | 32 35 00 20 00 00 00 00 |347 103|25. ....|
|00000aa0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ab0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ac0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ad0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ae0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000af0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000b00| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000b10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000b20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000b30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000b40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000b50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000b60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000b70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000b80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000b90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ba0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000bb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000bc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000bd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000be0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000bf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000c00| 23 0a 23 20 66 6f 72 75 | 6d 2d 6c 65 76 65 6c 20 |#.# foru|m-level |
|00000c10| 61 63 63 65 73 73 3a 20 | 73 68 6f 77 20 61 6c 6c |access: |show all|
|00000c20| 20 74 68 65 20 73 75 62 | 6a 65 63 74 73 20 6f 66 | the sub|jects of|
|00000c30| 20 61 20 70 61 72 74 69 | 63 75 6c 61 72 0a 23 20 | a parti|cular.# |
|00000c40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000c50| 20 20 20 20 66 6f 72 75 | 6d 2e 0a 23 20 0a 23 0a | foru|m..# .#.|
|00000c60| 23 20 43 6f 70 79 72 69 | 67 68 74 20 28 43 29 20 |# Copyri|ght (C) |
|00000c70| 31 39 39 34 20 41 66 7a | 61 6c 20 42 61 6c 6c 69 |1994 Afz|al Balli|
|00000c80| 6d 0a 0a 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |m..#####|########|
|00000c90| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000ca0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000cb0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 0a |########|#######.|
|00000cc0| 23 0a 23 20 57 46 43 6f | 6d 6d 61 6e 64 46 6f 72 |#.# WFCo|mmandFor|
|00000cd0| 75 6d 3a 20 64 69 73 70 | 6c 61 79 20 61 6c 6c 20 |um: disp|lay all |
|00000ce0| 6f 66 20 74 68 65 20 73 | 75 62 6a 65 63 74 73 20 |of the s|ubjects |
|00000cf0| 6f 66 20 61 20 66 6f 72 | 75 6d 0a 23 0a 73 75 62 |of a for|um.#.sub|
|00000d00| 20 57 46 43 6f 6d 6d 61 | 6e 64 46 6f 72 75 6d 20 | WFComma|ndForum |
|00000d10| 7b 0a 6c 6f 63 61 6c 20 | 28 25 69 6e 29 3d 40 5f |{.local |(%in)=@_|
|00000d20| 3b 0a 0a 24 75 73 65 72 | 69 64 3d 24 45 4e 56 7b |;..$user|id=$ENV{|
|00000d30| 52 45 4d 4f 54 45 5f 55 | 53 45 52 7d 3b 0a 69 66 |REMOTE_U|SER};.if|
|00000d40| 20 28 24 69 6e 7b 22 66 | 6f 72 75 6d 22 7d 20 65 | ($in{"f|orum"} e|
|00000d50| 71 20 22 22 29 20 7b 0a | 20 20 20 20 72 65 74 75 |q "") {.| retu|
|00000d60| 72 6e 20 22 4e 6f 20 46 | 6f 72 75 6d 20 77 61 73 |rn "No F|orum was|
|00000d70| 20 73 65 6c 65 63 74 65 | 64 2e 22 3b 0a 7d 0a 6c | selecte|d.";.}.l|
|00000d80| 6f 63 61 6c 20 28 24 66 | 6f 72 75 6d 64 65 63 29 |ocal ($f|orumdec)|
|00000d90| 20 3d 20 26 57 46 44 65 | 63 6f 64 65 44 61 74 75 | = &WFDe|codeDatu|
|00000da0| 6d 28 24 69 6e 7b 66 6f | 72 75 6d 7d 29 3b 0a 6c |m($in{fo|rum});.l|
|00000db0| 6f 63 61 6c 20 28 24 66 | 6f 72 75 6d 29 3d 24 69 |ocal ($f|orum)=$i|
|00000dc0| 6e 7b 22 66 6f 72 75 6d | 22 7d 3b 0a 23 20 67 65 |n{"forum|"};.# ge|
|00000dd0| 74 20 74 68 65 20 6c 69 | 73 74 20 6f 66 20 73 75 |t the li|st of su|
|00000de0| 62 6a 65 63 74 73 20 69 | 6e 20 74 68 65 20 66 6f |bjects i|n the fo|
|00000df0| 72 75 6d 73 20 73 70 6f | 6f 6c 20 64 69 72 65 63 |rums spo|ol direc|
|00000e00| 74 6f 72 79 2e 0a 23 20 | 74 68 65 20 66 6f 72 75 |tory..# |the foru|
|00000e10| 6d 73 20 73 70 6f 6f 6c | 20 64 69 72 65 63 74 6f |ms spool| directo|
|00000e20| 72 79 20 68 61 73 20 73 | 75 62 64 69 72 65 63 74 |ry has s|ubdirect|
|00000e30| 6f 72 69 65 73 20 66 6f | 72 20 65 61 63 68 0a 23 |ories fo|r each.#|
|00000e40| 20 74 6f 70 69 63 2c 20 | 77 69 74 68 20 73 75 62 | topic, |with sub|
|00000e50| 73 75 62 64 69 72 65 63 | 74 6f 72 69 65 73 20 66 |subdirec|tories f|
|00000e60| 6f 72 20 65 61 63 68 20 | 75 73 65 72 2e 0a 23 0a |or each |user..#.|
|00000e70| 24 74 68 65 64 69 72 3d | 22 41 42 53 57 46 53 50 |$thedir=|"ABSWFSP|
|00000e80| 4f 4f 4c 2f 24 66 6f 72 | 75 6d 22 3b 0a 6f 70 65 |OOL/$for|um";.ope|
|00000e90| 6e 64 69 72 28 44 49 52 | 2c 24 74 68 65 64 69 72 |ndir(DIR|,$thedir|
|00000ea0| 29 7c 7c 72 65 74 75 72 | 6e 20 22 24 66 6f 72 75 |)||retur|n "$foru|
|00000eb0| 6d 3a 20 4e 6f 20 73 75 | 63 68 20 66 6f 72 75 6d |m: No su|ch forum|
|00000ec0| 20 63 6f 75 6c 64 20 62 | 65 20 66 6f 75 6e 64 21 | could b|e found!|
|00000ed0| 22 3b 0a 40 73 75 62 6a | 65 63 74 3d 72 65 61 64 |";.@subj|ect=read|
|00000ee0| 64 69 72 28 44 49 52 29 | 3b 0a 63 6c 6f 73 65 28 |dir(DIR)|;.close(|
|00000ef0| 44 49 52 29 3b 0a 0a 23 | 67 65 74 20 74 68 65 20 |DIR);..#|get the |
|00000f00| 69 6e 66 6f 20 66 6f 72 | 20 74 68 65 20 64 69 72 |info for| the dir|
|00000f10| 65 63 74 6f 72 69 65 73 | 0a 66 6f 72 20 28 40 73 |ectories|.for (@s|
|00000f20| 75 62 6a 65 63 74 29 20 | 7b 0a 20 20 20 20 6e 65 |ubject) |{. ne|
|00000f30| 78 74 20 69 66 20 24 5f | 20 65 71 20 27 2e 27 3b |xt if $_| eq '.';|
|00000f40| 0a 20 20 20 20 6e 65 78 | 74 20 69 66 20 24 5f 20 |. nex|t if $_ |
|00000f50| 65 71 20 27 2e 2e 27 3b | 0a 20 20 20 20 23 20 68 |eq '..';|. # h|
|00000f60| 61 73 20 69 74 20 67 6f | 74 20 61 20 63 6f 6e 74 |as it go|t a cont|
|00000f70| 72 6f 6c 20 66 69 6c 65 | 3f 0a 20 20 20 20 69 66 |rol file|?. if|
|00000f80| 20 28 24 5f 20 65 71 20 | 27 2e 63 6f 6e 74 72 6f | ($_ eq |'.contro|
|00000f90| 6c 27 29 20 7b 0a 20 20 | 20 20 20 69 66 20 28 21 |l') {. | if (!|
|00000fa0| 26 57 46 55 73 65 72 41 | 75 74 68 6f 72 69 73 65 |&WFUserA|uthorise|
|00000fb0| 64 28 24 75 73 65 72 69 | 64 2c 22 41 42 53 57 46 |d($useri|d,"ABSWF|
|00000fc0| 53 50 4f 4f 4c 2f 24 66 | 6f 72 75 6d 2f 2e 63 6f |SPOOL/$f|orum/.co|
|00000fd0| 6e 74 72 6f 6c 22 29 29 | 20 7b 0a 20 20 20 20 20 |ntrol"))| {. |
|00000fe0| 20 72 65 74 75 72 6e 20 | 22 59 6f 75 20 61 72 65 | return |"You are|
|00000ff0| 20 6e 6f 74 20 61 75 74 | 68 6f 72 69 73 65 64 20 | not aut|horised |
|00001000| 74 6f 20 61 63 63 65 73 | 73 20 24 66 6f 72 75 6d |to acces|s $forum|
|00001010| 64 65 63 21 0a 49 66 20 | 79 6f 75 20 77 69 73 68 |dec!.If |you wish|
|00001020| 20 61 63 63 65 73 73 20 | 70 65 72 6d 69 73 73 69 | access |permissi|
|00001030| 6f 6e 2c 20 70 6c 65 61 | 73 65 20 63 6f 6e 74 61 |on, plea|se conta|
|00001040| 63 74 20 43 52 45 41 54 | 4f 52 2e 22 3b 0a 20 20 |ct CREAT|OR.";. |
|00001050| 20 20 20 7d 0a 20 20 20 | 20 20 6e 65 78 74 3b 0a | }. | next;.|
|00001060| 20 20 20 20 7d 0a 20 20 | 20 20 70 75 73 68 28 40 | }. | push(@|
|00001070| 73 75 62 6a 65 63 74 73 | 2c 24 5f 29 3b 0a 7d 0a |subjects|,$_);.}.|
|00001080| 0a 23 20 63 68 65 63 6b | 20 74 6f 20 73 65 65 20 |.# check| to see |
|00001090| 69 66 20 74 68 69 73 20 | 68 61 73 20 62 65 65 6e |if this |has been|
|000010a0| 20 63 61 6c 6c 65 64 20 | 77 69 74 68 20 61 20 73 | called |with a s|
|000010b0| 6f 72 74 20 6f 70 74 69 | 6f 6e 0a 23 20 43 48 41 |ort opti|on.# CHA|
|000010c0| 4e 47 45 44 3a 20 69 66 | 20 6e 6f 74 20 73 65 74 |NGED: if| not set|
|000010d0| 20 61 6c 70 68 61 62 65 | 74 69 63 20 62 79 20 64 | alphabe|tic by d|
|000010e0| 65 66 61 75 6c 74 0a 23 | 20 54 4f 3a 20 69 66 20 |efault.#| TO: if |
|000010f0| 6e 6f 74 20 73 65 74 20 | 6d 6f 73 74 72 65 63 65 |not set |mostrece|
|00001100| 6e 74 20 62 79 20 64 65 | 66 61 75 6c 74 0a 23 20 |nt by de|fault.# |
|00001110| 61 6e 64 20 62 61 63 6b | 20 61 67 61 69 6e 2e 2e |and back| again..|
|00001120| 2e 0a 69 66 20 28 24 69 | 6e 7b 22 73 6f 72 74 6d |..if ($i|n{"sortm|
|00001130| 65 74 68 6f 64 22 7d 20 | 65 71 20 22 22 29 20 7b |ethod"} |eq "") {|
|00001140| 0a 20 24 69 6e 7b 22 73 | 6f 72 74 6d 65 74 68 6f |. $in{"s|ortmetho|
|00001150| 64 22 7d 3d 22 61 6c 70 | 68 61 62 65 74 69 63 22 |d"}="alp|habetic"|
|00001160| 3b 0a 7d 0a 0a 24 74 68 | 65 6c 69 73 74 3d 22 22 |;.}..$th|elist=""|
|00001170| 3b 0a 69 66 20 28 24 69 | 6e 7b 22 73 6f 72 74 6d |;.if ($i|n{"sortm|
|00001180| 65 74 68 6f 64 22 7d 20 | 65 71 20 22 61 6c 70 68 |ethod"} |eq "alph|
|00001190| 61 62 65 74 69 63 22 29 | 20 7b 0a 20 20 20 20 40 |abetic")| {. @|
|000011a0| 73 75 62 6a 65 63 74 73 | 3d 73 6f 72 74 20 40 73 |subjects|=sort @s|
|000011b0| 75 62 6a 65 63 74 73 3b | 7d 0a 65 6c 73 69 66 20 |ubjects;|}.elsif |
|000011c0| 28 24 69 6e 7b 22 73 6f | 72 74 6d 65 74 68 6f 64 |($in{"so|rtmethod|
|000011d0| 22 7d 20 65 71 20 22 6d | 6f 73 74 72 65 63 65 6e |"} eq "m|ostrecen|
|000011e0| 74 22 29 20 7b 0a 20 20 | 20 20 40 73 75 62 6a 65 |t") {. | @subje|
|000011f0| 63 74 73 3d 73 6f 72 74 | 28 57 46 46 6f 72 75 6d |cts=sort|(WFForum|
|00001200| 73 74 61 74 62 79 6d 6f | 73 74 72 65 63 65 6e 74 |statbymo|strecent|
|00001210| 20 40 73 75 62 6a 65 63 | 74 73 29 3b 7d 0a 0a 6c | @subjec|ts);}..l|
|00001220| 6f 63 61 6c 20 28 24 66 | 6e 61 6d 65 2c 24 66 6e |ocal ($f|name,$fn|
|00001230| 61 6d 65 64 65 63 2c 24 | 74 68 65 6c 69 73 74 2c |amedec,$|thelist,|
|00001240| 24 73 6f 72 74 6d 65 74 | 68 6f 64 29 3b 0a 24 73 |$sortmet|hod);.$s|
|00001250| 6f 72 74 6d 65 74 68 6f | 64 3d 24 69 6e 7b 22 73 |ortmetho|d=$in{"s|
|00001260| 6f 72 74 6d 65 74 68 6f | 64 22 7d 3b 0a 66 6f 72 |ortmetho|d"};.for|
|00001270| 65 61 63 68 20 24 66 6e | 61 6d 65 20 28 40 73 75 |each $fn|ame (@su|
|00001280| 62 6a 65 63 74 73 29 20 | 7b 0a 20 20 20 24 66 6e |bjects) |{. $fn|
|00001290| 61 6d 65 64 65 63 3d 26 | 57 46 57 72 61 70 48 54 |amedec=&|WFWrapHT|
|000012a0| 4d 4c 43 6f 64 65 73 28 | 26 57 46 44 65 63 6f 64 |MLCodes(|&WFDecod|
|000012b0| 65 44 61 74 75 6d 28 24 | 66 6e 61 6d 65 29 29 3b |eDatum($|fname));|
|000012c0| 0a 20 20 20 24 74 68 65 | 6c 69 73 74 20 3d 20 24 |. $the|list = $|
|000012d0| 74 68 65 6c 69 73 74 20 | 2e 20 3c 3c 45 49 0a 3c |thelist |. <<EI.<|
|000012e0| 6c 69 3e 0a 3c 66 6f 72 | 6d 20 6d 65 74 68 6f 64 |li>.<for|m method|
|000012f0| 3d 22 50 4f 53 54 22 20 | 61 63 74 69 6f 6e 3d 22 |="POST" |action="|
|00001300| 53 54 44 5f 44 4f 43 4f | 4d 4d 41 4e 44 22 3e 0a |STD_DOCO|MMAND">.|
|00001310| 3c 69 6e 70 75 74 20 74 | 79 70 65 3d 22 68 69 64 |<input t|ype="hid|
|00001320| 64 65 6e 22 20 6e 61 6d | 65 3d 22 63 6f 6d 6d 61 |den" nam|e="comma|
|00001330| 6e 64 22 20 76 61 6c 75 | 65 3d 22 73 75 62 6a 65 |nd" valu|e="subje|
|00001340| 63 74 22 3e 0a 3c 69 6e | 70 75 74 20 74 79 70 65 |ct">.<in|put type|
|00001350| 3d 22 68 69 64 64 65 6e | 22 20 6e 61 6d 65 3d 22 |="hidden|" name="|
|00001360| 66 6f 72 75 6d 22 20 76 | 61 6c 75 65 3d 22 24 69 |forum" v|alue="$i|
|00001370| 6e 7b 66 6f 72 75 6d 7d | 22 3e 0a 3c 69 6e 70 75 |n{forum}|">.<inpu|
|00001380| 74 20 74 79 70 65 3d 22 | 68 69 64 64 65 6e 22 20 |t type="|hidden" |
|00001390| 6e 61 6d 65 3d 22 73 75 | 62 6a 65 63 74 22 20 76 |name="su|bject" v|
|000013a0| 61 6c 75 65 3d 22 24 66 | 6e 61 6d 65 22 3e 0a 3c |alue="$f|name">.<|
|000013b0| 69 6e 70 75 74 20 74 79 | 70 65 3d 22 68 69 64 64 |input ty|pe="hidd|
|000013c0| 65 6e 22 20 6e 61 6d 65 | 3d 22 73 6f 72 74 6d 65 |en" name|="sortme|
|000013d0| 74 68 6f 64 22 20 76 61 | 6c 75 65 3d 22 24 73 6f |thod" va|lue="$so|
|000013e0| 72 74 6d 65 74 68 6f 64 | 22 3e 0a 3c 69 6e 70 75 |rtmethod|">.<inpu|
|000013f0| 74 20 74 79 70 65 3d 22 | 73 75 62 6d 69 74 22 20 |t type="|submit" |
|00001400| 76 61 6c 75 65 3d 22 24 | 66 6e 61 6d 65 64 65 63 |value="$|fnamedec|
|00001410| 22 3e 0a 3c 2f 66 6f 72 | 6d 3e 0a 3c 2f 6c 69 3e |">.</for|m>.</li>|
|00001420| 0a 45 49 0a 7d 0a 0a 69 | 66 20 28 24 74 68 65 6c |.EI.}..i|f ($thel|
|00001430| 69 73 74 20 65 71 20 22 | 22 29 20 7b 24 74 68 65 |ist eq "|") {$the|
|00001440| 6c 69 73 74 3d 22 3c 68 | 32 3e 4e 6f 20 73 75 62 |list="<h|2>No sub|
|00001450| 6a 65 63 74 73 20 69 6e | 20 20 24 66 6f 72 75 6d |jects in| $forum|
|00001460| 64 65 63 2e 3c 2f 70 3e | 3c 2f 68 32 3e 22 3b 7d |dec.</p>|</h2>";}|
|00001470| 0a 0a 69 66 20 28 24 69 | 6e 7b 22 73 6f 72 74 6d |..if ($i|n{"sortm|
|00001480| 65 74 68 6f 64 22 7d 20 | 65 71 20 22 61 6c 70 68 |ethod"} |eq "alph|
|00001490| 61 62 65 74 69 63 22 29 | 20 7b 0a 20 20 20 20 26 |abetic")| {. &|
|000014a0| 57 46 49 6e 63 46 69 6c | 65 28 22 41 42 53 57 46 |WFIncFil|e("ABSWF|
|000014b0| 48 54 4d 4c 2f 46 4f 52 | 55 4d 2e 48 54 4d 4c 22 |HTML/FOR|UM.HTML"|
|000014c0| 2c 0a 20 20 20 20 20 20 | 20 20 54 48 45 46 4f 52 |,. | THEFOR|
|000014d0| 55 4d 2c 22 24 66 6f 72 | 75 6d 64 65 63 22 2c 0a |UM,"$for|umdec",.|
|000014e0| 20 20 20 20 20 20 20 20 | 45 4e 43 46 4f 52 55 4d | |ENCFORUM|
|000014f0| 2c 22 24 69 6e 7b 66 6f | 72 75 6d 7d 22 2c 0a 20 |,"$in{fo|rum}",. |
|00001500| 20 20 20 20 20 20 20 53 | 55 42 4a 45 43 54 4c 49 | S|UBJECTLI|
|00001510| 53 54 2c 22 24 74 68 65 | 6c 69 73 74 22 2c 0a 20 |ST,"$the|list",. |
|00001520| 20 20 20 20 20 20 20 53 | 4f 52 54 59 50 45 2c 22 | S|ORTYPE,"|
|00001530| 24 69 6e 7b 73 6f 72 74 | 6d 65 74 68 6f 64 7d 22 |$in{sort|method}"|
|00001540| 2c 0a 20 20 20 20 20 20 | 20 20 41 53 4f 52 54 2c |,. | ASORT,|
|00001550| 63 68 65 63 6b 65 64 2c | 0a 20 20 20 20 20 20 20 |checked,|. |
|00001560| 20 4d 52 43 53 4f 52 54 | 2c 27 27 29 20 7d 0a 65 | MRCSORT|,'') }.e|
|00001570| 6c 73 65 20 7b 0a 20 20 | 20 20 26 57 46 49 6e 63 |lse {. | &WFInc|
|00001580| 46 69 6c 65 28 22 41 42 | 53 57 46 48 54 4d 4c 2f |File("AB|SWFHTML/|
|00001590| 46 4f 52 55 4d 2e 48 54 | 4d 4c 22 2c 0a 20 20 20 |FORUM.HT|ML",. |
|000015a0| 20 20 20 20 20 54 48 45 | 46 4f 52 55 4d 2c 22 24 | THE|FORUM,"$|
|000015b0| 66 6f 72 75 6d 64 65 63 | 22 2c 0a 20 20 20 20 20 |forumdec|",. |
|000015c0| 20 20 20 45 4e 43 46 4f | 52 55 4d 2c 22 24 69 6e | ENCFO|RUM,"$in|
|000015d0| 7b 66 6f 72 75 6d 7d 22 | 2c 0a 20 20 20 20 20 20 |{forum}"|,. |
|000015e0| 20 20 53 55 42 4a 45 43 | 54 4c 49 53 54 2c 22 24 | SUBJEC|TLIST,"$|
|000015f0| 74 68 65 6c 69 73 74 22 | 2c 0a 20 20 20 20 20 20 |thelist"|,. |
|00001600| 20 20 53 4f 52 54 59 50 | 45 2c 22 24 69 6e 7b 73 | SORTYP|E,"$in{s|
|00001610| 6f 72 74 6d 65 74 68 6f | 64 7d 22 2c 0a 20 20 20 |ortmetho|d}",. |
|00001620| 20 20 20 20 20 41 53 4f | 52 54 2c 27 27 2c 0a 20 | ASO|RT,'',. |
|00001630| 20 20 20 20 20 20 20 4d | 52 43 53 4f 52 54 2c 63 | M|RCSORT,c|
|00001640| 68 65 63 6b 65 64 29 20 | 7d 0a 0a 72 65 74 75 72 |hecked) |}..retur|
|00001650| 6e 20 22 22 3b 0a 7d 0a | 0a 73 75 62 20 57 46 46 |n "";.}.|.sub WFF|
|00001660| 6f 72 75 6d 73 74 61 74 | 62 79 6d 6f 73 74 72 65 |orumstat|bymostre|
|00001670| 63 65 6e 74 20 7b 0a 20 | 6c 6f 63 61 6c 20 28 40 |cent {. |local (@|
|00001680| 64 31 29 20 3d 20 73 74 | 61 74 28 22 41 42 53 57 |d1) = st|at("ABSW|
|00001690| 46 53 50 4f 4f 4c 2f 24 | 66 6f 72 75 6d 2f 24 61 |FSPOOL/$|forum/$a|
|000016a0| 22 29 3b 0a 20 6c 6f 63 | 61 6c 20 28 40 64 32 29 |");. loc|al (@d2)|
|000016b0| 20 3d 20 73 74 61 74 28 | 22 41 42 53 57 46 53 50 | = stat(|"ABSWFSP|
|000016c0| 4f 4f 4c 2f 24 66 6f 72 | 75 6d 2f 24 62 22 29 3b |OOL/$for|um/$b");|
|000016d0| 0a 20 24 64 32 5b 39 5d | 20 3c 3d 3e 20 24 64 31 |. $d2[9]| <=> $d1|
|000016e0| 5b 39 5d 3b 20 0a 7d 0a | 0a 31 3b 0a 00 00 00 00 |[9]; .}.|.1;.....|
|000016f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001700| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001710| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001720| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001730| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001740| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001750| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001760| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001770| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001780| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001790| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001800| 57 65 62 46 6f 72 75 6d | 2f 73 72 63 2f 77 66 63 |WebForum|/src/wfc|
|00001810| 6f 6d 6d 61 6e 64 2e 70 | 6c 00 00 00 00 00 00 00 |ommand.p|l.......|
|00001820| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001830| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001840| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001850| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001860| 00 00 00 00 20 20 20 37 | 35 35 20 00 20 37 33 37 |.... 7|55 . 737|
|00001870| 35 37 20 00 20 37 33 37 | 35 34 20 00 20 20 20 20 |57 . 737|54 . |
|00001880| 20 20 31 32 33 31 36 20 | 20 35 37 31 30 36 37 34 | 12316 | 5710674|
|00001890| 32 30 36 20 20 31 31 31 | 35 36 00 20 00 00 00 00 |206 111|56. ....|
|000018a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000018b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000018c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000018d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000018e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000018f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001900| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001910| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001920| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001930| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001940| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001950| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001960| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001970| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001980| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001990| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001a00| 23 0a 23 20 77 66 63 6f | 6d 6d 61 6e 64 3a 20 67 |#.# wfco|mmand: g|
|00001a10| 65 6e 65 72 69 63 20 70 | 61 67 65 20 6c 6f 61 64 |eneric p|age load|
|00001a20| 65 72 0a 23 0a 23 20 43 | 6f 70 79 72 69 67 68 74 |er.#.# C|opyright|
|00001a30| 20 28 43 29 20 31 39 39 | 34 20 41 66 7a 61 6c 20 | (C) 199|4 Afzal |
|00001a40| 42 61 6c 6c 69 6d 0a 0a | 72 65 71 75 69 72 65 20 |Ballim..|require |
|00001a50| 22 41 42 53 57 46 42 49 | 4e 2f 4c 49 42 57 45 42 |"ABSWFBI|N/LIBWEB|
|00001a60| 46 4f 52 55 4d 2e 50 4c | 22 3b 0a 0a 23 20 72 65 |FORUM.PL|";..# re|
|00001a70| 61 64 20 74 68 65 20 69 | 6e 70 75 74 20 66 72 6f |ad the i|nput fro|
|00001a80| 6d 20 74 68 65 20 66 6f | 72 6d 2e 0a 25 69 6e 3d |m the fo|rm..%in=|
|00001a90| 26 57 46 52 65 61 64 50 | 61 72 73 65 3b 0a 0a 23 |&WFReadP|arse;..#|
|00001aa0| 20 73 75 62 6a 65 63 74 | 20 68 61 73 20 74 6f 20 | subject| has to |
|00001ab0| 68 61 76 65 20 2f 20 70 | 72 6f 74 65 63 74 65 64 |have / p|rotected|
|00001ac0| 20 61 6e 64 20 5e 20 0a | 23 69 66 20 28 24 69 6e | and ^ .|#if ($in|
|00001ad0| 7b 22 73 75 62 6a 65 63 | 74 22 7d 20 6e 65 20 22 |{"subjec|t"} ne "|
|00001ae0| 22 29 20 7b 0a 23 09 24 | 69 6e 7b 22 73 75 62 6a |") {.#.$|in{"subj|
|00001af0| 65 63 74 22 7d 20 3d 7e | 20 73 23 28 5b 5e 5c 5c |ect"} =~| s#([^\\|
|00001b00| 5d 29 2f 23 24 31 5c a6 | 23 67 3b 0a 23 09 24 69 |])/#$1\.|#g;.#.$i|
|00001b10| 6e 7b 22 73 75 62 6a 65 | 63 74 22 7d 20 3d 7e 20 |n{"subje|ct"} =~ |
|00001b20| 73 23 5c 5e 23 5c b7 23 | 67 3b 0a 23 7d 0a 0a 23 |s#\^#\.#|g;.#}..#|
|00001b30| 20 54 68 65 20 63 6f 6d | 6d 61 6e 64 20 69 73 20 | The com|mand is |
|00001b40| 67 69 76 65 6e 20 76 69 | 61 20 50 41 54 48 5f 49 |given vi|a PATH_I|
|00001b50| 4e 46 4f 20 6f 72 20 66 | 6f 72 6d 20 76 61 72 69 |NFO or f|orm vari|
|00001b60| 61 62 6c 65 73 2e 0a 23 | 20 54 68 65 20 50 41 54 |ables..#| The PAT|
|00001b70| 48 5f 49 4e 46 4f 20 76 | 65 72 73 69 6f 6e 20 74 |H_INFO v|ersion t|
|00001b80| 61 6b 65 73 20 70 72 65 | 63 65 64 65 6e 63 65 2e |akes pre|cedence.|
|00001b90| 0a 0a 25 70 69 3d 26 57 | 46 44 65 63 6f 64 65 50 |..%pi=&W|FDecodeP|
|00001ba0| 61 74 68 49 6e 66 6f 3b | 0a 0a 69 66 20 28 24 70 |athInfo;|..if ($p|
|00001bb0| 69 7b 22 63 6f 6d 6d 61 | 6e 64 22 7d 29 20 7b 0a |i{"comma|nd"}) {.|
|00001bc0| 20 24 69 6e 7b 22 63 6f | 6d 6d 61 6e 64 22 7d 3d | $in{"co|mmand"}=|
|00001bd0| 24 70 69 7b 22 63 6f 6d | 6d 61 6e 64 22 7d 3b 0a |$pi{"com|mand"};.|
|00001be0| 7d 0a 0a 23 6c 65 74 27 | 73 20 67 65 74 20 74 68 |}..#let'|s get th|
|00001bf0| 65 20 65 61 73 79 20 62 | 69 74 20 6f 75 74 20 6f |e easy b|it out o|
|00001c00| 66 20 74 68 65 20 77 61 | 79 3a 20 61 20 68 65 61 |f the wa|y: a hea|
|00001c10| 64 65 72 0a 26 57 46 48 | 74 6d 6c 48 65 61 64 65 |der.&WFH|tmlHeade|
|00001c20| 72 3b 0a 0a 23 20 4e 6f | 77 2c 20 6c 65 74 27 73 |r;..# No|w, let's|
|00001c30| 20 70 72 6f 63 65 73 73 | 20 74 68 61 74 20 63 6f | process| that co|
|00001c40| 6d 6d 61 6e 64 2e 0a 69 | 66 20 28 21 24 69 6e 7b |mmand..i|f (!$in{|
|00001c50| 22 63 6f 6d 6d 61 6e 64 | 22 7d 29 20 7b 0a 20 20 |"command|"}) {. |
|00001c60| 20 20 26 57 46 45 72 72 | 6f 72 28 0a 22 3c 70 3e | &WFErr|or(."<p>|
|00001c70| 53 6f 6d 65 74 68 69 6e | 67 20 77 65 69 72 64 20 |Somethin|g weird |
|00001c80| 68 61 73 20 68 61 70 70 | 65 6e 65 64 20 61 6e 64 |has happ|ened and|
|00001c90| 20 49 20 63 61 6e 27 74 | 20 66 69 6e 64 20 77 68 | I can't| find wh|
|00001ca0| 61 74 0a 63 6f 6d 6d 61 | 6e 64 20 79 6f 75 20 67 |at.comma|nd you g|
|00001cb0| 61 76 65 20 6d 65 2e 20 | 54 72 79 20 63 6f 6e 74 |ave me. |Try cont|
|00001cc0| 61 63 74 69 6e 67 20 43 | 52 45 41 54 4f 52 2e 0a |acting C|REATOR..|
|00001cd0| 55 73 65 66 75 6c 20 69 | 6e 66 6f 72 6d 61 74 69 |Useful i|nformati|
|00001ce0| 6f 6e 20 74 6f 20 69 6e | 63 6c 75 64 65 20 77 69 |on to in|clude wi|
|00001cf0| 74 68 20 79 6f 75 72 20 | 65 72 72 6f 72 20 6d 65 |th your |error me|
|00001d00| 73 73 61 67 65 0a 77 6f | 75 6c 64 20 62 65 20 74 |ssage.wo|uld be t|
|00001d10| 68 65 20 63 6f 6d 6d 61 | 6e 64 20 79 6f 75 20 3c |he comma|nd you <|
|00001d20| 69 3e 74 68 6f 75 67 68 | 74 3c 2f 69 3e 20 79 6f |i>though|t</i> yo|
|00001d30| 75 20 77 65 72 65 0a 63 | 61 6c 6c 69 6e 67 2e 3c |u were.c|alling.<|
|00001d40| 2f 70 3e 0a 3c 70 3e 3c | 69 3e 4e 6f 74 65 3a 3c |/p>.<p><|i>Note:<|
|00001d50| 2f 69 3e 20 54 68 69 73 | 20 6d 61 79 20 68 61 76 |/i> This| may hav|
|00001d60| 65 20 62 65 65 6e 20 63 | 61 75 73 65 64 20 62 65 |e been c|aused be|
|00001d70| 63 61 75 73 65 20 79 6f | 75 20 74 72 69 65 64 0a |cause yo|u tried.|
|00001d80| 74 6f 20 72 65 6c 6f 61 | 64 20 74 68 65 20 70 61 |to reloa|d the pa|
|00001d90| 67 65 2e 20 55 6e 66 6f | 72 74 75 6e 61 74 65 6c |ge. Unfo|rtunatel|
|00001da0| 79 2c 20 74 68 65 73 65 | 20 70 61 67 65 73 20 61 |y, these| pages a|
|00001db0| 72 65 20 6e 6f 74 20 28 | 63 75 72 72 65 6e 74 6c |re not (|currentl|
|00001dc0| 79 29 0a 72 65 6c 6f 61 | 64 2d 61 62 6c 65 20 77 |y).reloa|d-able w|
|00001dd0| 69 74 68 20 74 68 65 20 | 72 65 61 64 65 72 27 73 |ith the |reader's|
|00001de0| 20 72 65 6c 6f 61 64 20 | 66 75 6e 63 74 69 6f 6e | reload |function|
|00001df0| 2e 20 59 6f 75 20 6d 75 | 73 74 20 69 6e 73 74 65 |. You mu|st inste|
|00001e00| 61 64 0a 63 6c 69 63 6b | 20 6f 6e 20 74 68 65 20 |ad.click| on the |
|00001e10| 27 52 65 73 63 61 6e 27 | 20 62 75 74 74 6f 6e 20 |'Rescan'| button |
|00001e20| 73 75 70 70 6c 69 65 64 | 20 77 69 74 68 20 74 68 |supplied| with th|
|00001e30| 65 20 70 61 67 65 73 2e | 3c 2f 70 3e 0a 0a 3c 70 |e pages.|</p>..<p|
|00001e40| 3e 50 6c 65 61 73 65 20 | 6e 6f 74 65 2c 20 74 68 |>Please |note, th|
|00001e50| 61 74 20 64 75 65 20 74 | 6f 20 74 68 65 20 63 6f |at due t|o the co|
|00001e60| 6d 70 6c 65 78 69 74 79 | 20 6f 66 20 74 68 69 73 |mplexity| of this|
|00001e70| 20 73 79 73 74 65 6d 2c | 0a 6e 6f 74 20 61 6c 6c | system,|.not all|
|00001e80| 20 63 6c 69 65 6e 74 20 | 70 72 6f 67 72 61 6d 73 | client |programs|
|00001e90| 20 77 69 6c 6c 20 66 75 | 6e 63 74 69 6f 6e 20 77 | will fu|nction w|
|00001ea0| 69 74 68 20 69 74 2e 20 | 4c 79 6e 78 20 32 2e 33 |ith it. |Lynx 2.3|
|00001eb0| 0a 64 6f 65 73 20 6e 6f | 74 20 77 6f 72 6b 2c 20 |.does no|t work, |
|00001ec0| 61 6e 64 20 49 20 64 6f | 20 6e 6f 74 20 6b 6e 6f |and I do| not kno|
|00001ed0| 77 20 6f 66 20 61 6e 79 | 20 6c 69 6e 65 2d 62 61 |w of any| line-ba|
|00001ee0| 73 65 64 20 63 6c 69 65 | 6e 74 0a 74 68 61 74 20 |sed clie|nt.that |
|00001ef0| 64 6f 65 73 2e 20 4e 43 | 53 41 20 4d 6f 73 61 69 |does. NC|SA Mosai|
|00001f00| 63 20 32 2e 34 20 77 6f | 72 6b 73 2c 20 61 73 20 |c 2.4 wo|rks, as |
|00001f10| 64 6f 65 73 20 4e 65 74 | 73 63 61 70 65 20 30 2e |does Net|scape 0.|
|00001f20| 39 2e 22 29 3b 0a 0a 20 | 20 20 20 65 78 69 74 3b |9.");.. | exit;|
|00001f30| 0a 7d 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.}. | |
|00001f40| 20 20 20 0a 23 20 54 68 | 65 20 73 65 74 20 6f 66 | .# Th|e set of|
|00001f50| 20 73 75 70 70 6f 72 74 | 65 64 20 63 6f 6d 6d 61 | support|ed comma|
|00001f60| 6e 64 73 2e 0a 23 20 43 | 6f 6d 6d 61 6e 64 73 20 |nds..# C|ommands |
|00001f70| 72 65 74 75 72 6e 20 61 | 20 6e 75 6c 6c 20 73 74 |return a| null st|
|00001f80| 72 69 6e 67 20 69 66 20 | 74 68 65 79 20 73 75 63 |ring if |they suc|
|00001f90| 63 65 65 64 2c 20 6f 72 | 20 61 6e 0a 23 20 65 72 |ceed, or| an.# er|
|00001fa0| 72 6f 72 20 6d 65 73 73 | 61 67 65 20 69 66 20 74 |ror mess|age if t|
|00001fb0| 68 65 79 20 64 6f 6e 27 | 74 2e 0a 23 20 57 68 65 |hey don'|t..# Whe|
|00001fc0| 6e 20 61 20 63 6f 6d 6d | 61 6e 64 20 66 61 69 6c |n a comm|and fail|
|00001fd0| 73 2c 20 77 65 20 74 72 | 79 20 61 6e 6f 74 68 65 |s, we tr|y anothe|
|00001fe0| 72 20 63 6f 6d 6d 61 6e | 64 20 69 66 20 77 65 20 |r comman|d if we |
|00001ff0| 63 61 6e 0a 23 20 54 68 | 65 20 6f 6e 66 61 69 6c |can.# Th|e onfail|
|00002000| 20 6c 69 73 74 20 69 73 | 20 6a 75 73 74 20 61 20 | list is| just a |
|00002010| 63 6f 6e 76 65 6e 69 65 | 6e 74 20 74 61 62 6c 65 |convenie|nt table|
|00002020| 20 6f 66 20 63 6f 6d 6d | 61 6e 64 0a 23 20 66 61 | of comm|and.# fa|
|00002030| 69 6c 75 72 65 20 63 68 | 61 6e 67 65 73 2e 0a 25 |ilure ch|anges..%|
|00002040| 6f 6e 66 61 69 6c 3d 20 | 28 22 74 6f 70 22 2c 22 |onfail= |("top","|
|00002050| 22 2c 0a 09 20 20 22 66 | 6f 72 75 6d 22 2c 22 74 |",.. "f|orum","t|
|00002060| 6f 70 22 2c 0a 09 20 20 | 22 73 75 62 6a 65 63 74 |op",.. |"subject|
|00002070| 22 2c 22 66 6f 72 75 6d | 22 2c 0a 09 20 20 22 6d |","forum|",.. "m|
|00002080| 65 73 73 61 67 65 22 2c | 22 73 75 62 6a 65 63 74 |essage",|"subject|
|00002090| 22 2c 0a 09 20 20 22 6e | 65 78 74 6d 65 73 73 61 |",.. "n|extmessa|
|000020a0| 67 65 22 2c 22 73 75 62 | 6a 65 63 74 22 2c 0a 09 |ge","sub|ject",..|
|000020b0| 20 20 22 70 72 65 76 6d | 65 73 73 61 67 65 22 2c | "prevm|essage",|
|000020c0| 22 73 75 62 6a 65 63 74 | 22 2c 0a 20 20 20 20 20 |"subject|",. |
|000020d0| 20 22 72 65 70 6c 79 22 | 2c 22 6d 65 73 73 61 67 | "reply"|,"messag|
|000020e0| 65 22 2c 0a 20 20 20 20 | 20 20 22 66 6f 6c 6c 6f |e",. | "follo|
|000020f0| 77 75 70 22 2c 22 73 75 | 62 6a 65 63 74 22 2c 0a |wup","su|bject",.|
|00002100| 20 20 20 20 20 20 22 70 | 6f 73 74 22 2c 22 66 6f | "p|ost","fo|
|00002110| 72 75 6d 22 2c 0a 20 20 | 20 20 20 20 22 63 61 6e |rum",. | "can|
|00002120| 63 65 6c 22 2c 22 6d 65 | 73 73 61 67 65 22 2c 0a |cel","me|ssage",.|
|00002130| 20 20 20 20 20 20 22 6d | 6b 6d 73 67 22 2c 22 73 | "m|kmsg","s|
|00002140| 75 62 6a 65 63 74 22 29 | 3b 0a 09 20 20 0a 24 43 |ubject")|;.. .$C|
|00002150| 6f 6d 6d 61 6e 64 54 6f | 44 6f 3d 24 69 6e 7b 22 |ommandTo|Do=$in{"|
|00002160| 63 6f 6d 6d 61 6e 64 22 | 7d 3b 0a 0a 23 20 4c 6f |command"|};..# Lo|
|00002170| 67 67 69 6e 67 0a 69 66 | 20 28 4c 4f 47 4c 45 56 |gging.if| (LOGLEV|
|00002180| 45 4c 20 21 3d 20 30 29 | 20 7b 0a 20 69 66 20 28 |EL != 0)| {. if (|
|00002190| 28 4c 4f 47 4c 45 56 45 | 4c 20 3d 3d 20 31 29 20 |(LOGLEVE|L == 1) |
|000021a0| 26 26 20 24 69 6e 7b 22 | 63 6f 6d 6d 61 6e 64 22 |&& $in{"|command"|
|000021b0| 7d 20 65 71 20 22 74 6f | 70 22 29 20 7b 0a 20 20 |} eq "to|p") {. |
|000021c0| 20 20 73 79 73 74 65 6d | 28 22 65 63 68 6f 20 60 | system|("echo `|
|000021d0| 2f 62 69 6e 2f 64 61 74 | 65 60 20 24 45 4e 56 7b |/bin/dat|e` $ENV{|
|000021e0| 52 45 4d 4f 54 45 5f 55 | 53 45 52 7d 20 3e 3e 20 |REMOTE_U|SER} >> |
|000021f0| 4c 4f 47 46 49 4c 45 22 | 29 3b 0a 20 7d 0a 20 65 |LOGFILE"|);. }. e|
|00002200| 6c 73 65 20 7b 0a 20 20 | 20 20 24 6c 73 74 72 69 |lse {. | $lstri|
|00002210| 6e 67 3d 22 24 45 4e 56 | 7b 52 45 4d 4f 54 45 5f |ng="$ENV|{REMOTE_|
|00002220| 55 53 45 52 7d 3a 22 20 | 2e 20 0a 20 20 20 20 20 |USER}:" |. . |
|00002230| 20 20 20 20 20 20 20 20 | 24 69 6e 7b 22 63 6f 6d | |$in{"com|
|00002240| 6d 61 6e 64 22 7d 20 2e | 20 22 2f 22 20 2e 0a 20 |mand"} .| "/" .. |
|00002250| 20 20 20 20 20 20 20 20 | 20 20 20 20 26 57 46 44 | | &WFD|
|00002260| 65 63 6f 64 65 44 61 74 | 75 6d 28 24 69 6e 7b 22 |ecodeDat|um($in{"|
|00002270| 66 6f 72 75 6d 22 7d 29 | 20 2e 20 22 2f 22 20 2e |forum"})| . "/" .|
|00002280| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 26 57 |. | &W|
|00002290| 46 44 65 63 6f 64 65 44 | 61 74 75 6d 28 24 69 6e |FDecodeD|atum($in|
|000022a0| 7b 22 73 75 62 6a 65 63 | 74 22 7d 29 20 2e 20 22 |{"subjec|t"}) . "|
|000022b0| 2f 22 20 2e 0a 20 20 20 | 20 20 20 20 20 20 20 20 |/" .. | |
|000022c0| 20 20 26 57 46 44 65 63 | 6f 64 65 44 61 74 75 6d | &WFDec|odeDatum|
|000022d0| 28 24 69 6e 7b 22 6d 65 | 73 73 61 67 65 22 7d 29 |($in{"me|ssage"})|
|000022e0| 3b 0a 20 20 20 20 73 79 | 73 74 65 6d 28 22 65 63 |;. sy|stem("ec|
|000022f0| 68 6f 20 60 2f 62 69 6e | 2f 64 61 74 65 60 20 27 |ho `/bin|/date` '|
|00002300| 24 6c 73 74 72 69 6e 67 | 27 20 3e 3e 4c 4f 47 46 |$lstring|' >>LOGF|
|00002310| 49 4c 45 22 29 3b 0a 20 | 7d 20 0a 7d 0a 0a 77 68 |ILE");. |} .}..wh|
|00002320| 69 6c 65 20 28 24 43 6f | 6d 6d 61 6e 64 54 6f 44 |ile ($Co|mmandToD|
|00002330| 6f 20 6e 65 20 22 65 78 | 69 74 22 29 20 7b 0a 20 |o ne "ex|it") {. |
|00002340| 54 68 65 5f 43 6f 6d 6d | 61 6e 64 73 3a 20 7b 0a |The_Comm|ands: {.|
|00002350| 20 20 24 43 6f 6d 6d 61 | 6e 64 54 6f 44 6f 20 65 | $Comma|ndToDo e|
|00002360| 71 20 22 22 20 26 26 20 | 26 57 46 45 72 72 6f 72 |q "" && |&WFError|
|00002370| 28 22 4e 6f 20 43 6f 6d | 6d 61 6e 64 21 22 29 20 |("No Com|mand!") |
|00002380| 26 26 20 65 78 69 74 28 | 31 29 3b 0a 0a 20 20 24 |&& exit(|1);.. $|
|00002390| 43 6f 6d 6d 61 6e 64 54 | 6f 44 6f 20 65 71 20 22 |CommandT|oDo eq "|
|000023a0| 74 6f 70 22 20 26 26 20 | 64 6f 20 7b 0a 20 20 20 |top" && |do {. |
|000023b0| 20 72 65 71 75 69 72 65 | 20 22 41 42 53 57 46 43 | require| "ABSWFC|
|000023c0| 54 52 4c 42 49 4e 2f 53 | 54 44 5f 54 4f 50 2e 50 |TRLBIN/S|TD_TOP.P|
|000023d0| 4c 22 3b 0a 20 20 20 20 | 69 66 20 28 28 24 57 46 |L";. |if (($WF|
|000023e0| 43 52 3d 26 57 46 43 6f | 6d 6d 61 6e 64 54 6f 70 |CR=&WFCo|mmandTop|
|000023f0| 28 25 69 6e 29 29 20 6e | 65 20 22 22 29 7b 0a 20 |(%in)) n|e ""){. |
|00002400| 20 20 20 20 20 20 20 26 | 57 46 45 72 72 6f 72 28 | &|WFError(|
|00002410| 24 57 46 43 52 29 3b 0a | 09 24 43 6f 6d 6d 61 6e |$WFCR);.|.$Comman|
|00002420| 64 54 6f 44 6f 3d 24 6f | 6e 66 61 69 6c 7b 22 74 |dToDo=$o|nfail{"t|
|00002430| 6f 70 22 7d 3b 6c 61 73 | 74 20 54 68 65 5f 43 6f |op"};las|t The_Co|
|00002440| 6d 6d 61 6e 64 73 3b 7d | 3b 0a 20 20 20 20 24 43 |mmands;}|;. $C|
|00002450| 6f 6d 6d 61 6e 64 54 6f | 44 6f 3d 22 65 78 69 74 |ommandTo|Do="exit|
|00002460| 22 3b 6c 61 73 74 20 54 | 68 65 5f 43 6f 6d 6d 61 |";last T|he_Comma|
|00002470| 6e 64 73 3b 7d 3b 0a 0a | 20 20 24 43 6f 6d 6d 61 |nds;};..| $Comma|
|00002480| 6e 64 54 6f 44 6f 20 65 | 71 20 22 66 6f 72 75 6d |ndToDo e|q "forum|
|00002490| 22 20 26 26 20 64 6f 20 | 7b 0a 20 20 20 20 72 65 |" && do |{. re|
|000024a0| 71 75 69 72 65 20 22 41 | 42 53 57 46 43 54 52 4c |quire "A|BSWFCTRL|
|000024b0| 42 49 4e 2f 53 54 44 5f | 46 4f 52 55 4d 2e 50 4c |BIN/STD_|FORUM.PL|
|000024c0| 22 3b 0a 20 20 20 20 69 | 66 20 28 28 24 57 46 43 |";. i|f (($WFC|
|000024d0| 52 3d 26 57 46 43 6f 6d | 6d 61 6e 64 46 6f 72 75 |R=&WFCom|mandForu|
|000024e0| 6d 28 25 69 6e 29 29 20 | 6e 65 20 22 22 29 7b 0a |m(%in)) |ne ""){.|
|000024f0| 20 20 20 20 20 20 20 20 | 26 57 46 45 72 72 6f 72 | |&WFError|
|00002500| 28 24 57 46 43 52 29 3b | 0a 09 24 43 6f 6d 6d 61 |($WFCR);|..$Comma|
|00002510| 6e 64 54 6f 44 6f 3d 24 | 6f 6e 66 61 69 6c 7b 22 |ndToDo=$|onfail{"|
|00002520| 66 6f 72 75 6d 22 7d 3b | 6c 61 73 74 20 54 68 65 |forum"};|last The|
|00002530| 5f 43 6f 6d 6d 61 6e 64 | 73 3b 7d 0a 20 20 20 20 |_Command|s;}. |
|00002540| 24 43 6f 6d 6d 61 6e 64 | 54 6f 44 6f 3d 22 65 78 |$Command|ToDo="ex|
|00002550| 69 74 22 3b 6c 61 73 74 | 20 54 68 65 5f 43 6f 6d |it";last| The_Com|
|00002560| 6d 61 6e 64 73 3b 7d 3b | 0a 0a 20 20 24 43 6f 6d |mands;};|.. $Com|
|00002570| 6d 61 6e 64 54 6f 44 6f | 20 65 71 20 22 73 75 62 |mandToDo| eq "sub|
|00002580| 6a 65 63 74 22 20 26 26 | 20 64 6f 20 7b 0a 20 20 |ject" &&| do {. |
|00002590| 20 20 72 65 71 75 69 72 | 65 20 22 41 42 53 57 46 | requir|e "ABSWF|
|000025a0| 43 54 52 4c 42 49 4e 2f | 53 54 44 5f 53 55 42 4a |CTRLBIN/|STD_SUBJ|
|000025b0| 45 43 54 2e 50 4c 22 3b | 0a 20 20 20 20 69 66 20 |ECT.PL";|. if |
|000025c0| 28 28 24 57 46 43 52 3d | 26 57 46 43 6f 6d 6d 61 |(($WFCR=|&WFComma|
|000025d0| 6e 64 53 75 62 6a 65 63 | 74 28 22 66 69 72 73 74 |ndSubjec|t("first|
|000025e0| 22 2c 25 69 6e 29 29 20 | 6e 65 20 22 22 29 7b 0a |",%in)) |ne ""){.|
|000025f0| 20 20 20 20 20 20 20 20 | 26 57 46 45 72 72 6f 72 | |&WFError|
|00002600| 28 24 57 46 43 52 29 3b | 0a 09 24 43 6f 6d 6d 61 |($WFCR);|..$Comma|
|00002610| 6e 64 54 6f 44 6f 3d 24 | 6f 6e 66 61 69 6c 7b 22 |ndToDo=$|onfail{"|
|00002620| 73 75 62 6a 65 63 74 22 | 7d 3b 6c 61 73 74 20 54 |subject"|};last T|
|00002630| 68 65 5f 43 6f 6d 6d 61 | 6e 64 73 3b 7d 3b 0a 20 |he_Comma|nds;};. |
|00002640| 20 20 20 24 43 6f 6d 6d | 61 6e 64 54 6f 44 6f 3d | $Comm|andToDo=|
|00002650| 22 65 78 69 74 22 3b 6c | 61 73 74 20 54 68 65 5f |"exit";l|ast The_|
|00002660| 43 6f 6d 6d 61 6e 64 73 | 3b 7d 3b 0a 0a 20 20 24 |Commands|;};.. $|
|00002670| 43 6f 6d 6d 61 6e 64 54 | 6f 44 6f 20 65 71 20 22 |CommandT|oDo eq "|
|00002680| 6d 65 73 73 61 67 65 22 | 20 26 26 20 64 6f 20 7b |message"| && do {|
|00002690| 0a 20 20 20 20 72 65 71 | 75 69 72 65 20 22 41 42 |. req|uire "AB|
|000026a0| 53 57 46 43 54 52 4c 42 | 49 4e 2f 53 54 44 5f 53 |SWFCTRLB|IN/STD_S|
|000026b0| 55 42 4a 45 43 54 2e 50 | 4c 22 3b 0a 20 20 20 20 |UBJECT.P|L";. |
|000026c0| 69 66 20 28 28 24 57 46 | 43 52 3d 26 57 46 43 6f |if (($WF|CR=&WFCo|
|000026d0| 6d 6d 61 6e 64 53 75 62 | 6a 65 63 74 28 22 74 68 |mmandSub|ject("th|
|000026e0| 69 73 22 2c 25 69 6e 29 | 29 20 6e 65 20 22 22 29 |is",%in)|) ne "")|
|000026f0| 7b 0a 20 20 20 20 20 20 | 20 20 26 57 46 45 72 72 |{. | &WFErr|
|00002700| 6f 72 28 24 57 46 43 52 | 29 3b 0a 09 24 43 6f 6d |or($WFCR|);..$Com|
|00002710| 6d 61 6e 64 54 6f 44 6f | 3d 24 6f 6e 66 61 69 6c |mandToDo|=$onfail|
|00002720| 7b 22 6d 65 73 73 61 67 | 65 22 7d 3b 6c 61 73 74 |{"messag|e"};last|
|00002730| 20 54 68 65 5f 43 6f 6d | 6d 61 6e 64 73 3b 7d 3b | The_Com|mands;};|
|00002740| 0a 20 20 20 20 24 43 6f | 6d 6d 61 6e 64 54 6f 44 |. $Co|mmandToD|
|00002750| 6f 3d 22 65 78 69 74 22 | 3b 6c 61 73 74 20 54 68 |o="exit"|;last Th|
|00002760| 65 5f 43 6f 6d 6d 61 6e | 64 73 3b 7d 3b 0a 0a 20 |e_Comman|ds;};.. |
|00002770| 20 24 43 6f 6d 6d 61 6e | 64 54 6f 44 6f 20 65 71 | $Comman|dToDo eq|
|00002780| 20 22 6e 65 78 74 6d 65 | 73 73 61 67 65 22 20 26 | "nextme|ssage" &|
|00002790| 26 20 64 6f 20 7b 0a 20 | 20 20 20 72 65 71 75 69 |& do {. | requi|
|000027a0| 72 65 20 22 41 42 53 57 | 46 43 54 52 4c 42 49 4e |re "ABSW|FCTRLBIN|
|000027b0| 2f 53 54 44 5f 53 55 42 | 4a 45 43 54 2e 50 4c 22 |/STD_SUB|JECT.PL"|
|000027c0| 3b 0a 20 20 20 20 69 66 | 20 28 28 24 57 46 43 52 |;. if| (($WFCR|
|000027d0| 3d 26 57 46 43 6f 6d 6d | 61 6e 64 53 75 62 6a 65 |=&WFComm|andSubje|
|000027e0| 63 74 28 22 6e 65 78 74 | 22 2c 25 69 6e 29 29 20 |ct("next|",%in)) |
|000027f0| 6e 65 20 22 22 29 7b 0a | 20 20 20 20 20 20 20 20 |ne ""){.| |
|00002800| 26 57 46 45 72 72 6f 72 | 28 24 57 46 43 52 29 3b |&WFError|($WFCR);|
|00002810| 0a 09 24 43 6f 6d 6d 61 | 6e 64 54 6f 44 6f 3d 24 |..$Comma|ndToDo=$|
|00002820| 6f 6e 66 61 69 6c 7b 22 | 6e 65 78 74 6d 65 73 73 |onfail{"|nextmess|
|00002830| 61 67 65 22 7d 3b 6c 61 | 73 74 20 54 68 65 5f 43 |age"};la|st The_C|
|00002840| 6f 6d 6d 61 6e 64 73 3b | 7d 3b 0a 20 20 20 20 24 |ommands;|};. $|
|00002850| 43 6f 6d 6d 61 6e 64 54 | 6f 44 6f 3d 22 65 78 69 |CommandT|oDo="exi|
|00002860| 74 22 3b 6c 61 73 74 20 | 54 68 65 5f 43 6f 6d 6d |t";last |The_Comm|
|00002870| 61 6e 64 73 3b 7d 3b 0a | 0a 20 20 24 43 6f 6d 6d |ands;};.|. $Comm|
|00002880| 61 6e 64 54 6f 44 6f 20 | 65 71 20 22 70 72 65 76 |andToDo |eq "prev|
|00002890| 6d 65 73 73 61 67 65 22 | 20 26 26 20 64 6f 20 7b |message"| && do {|
|000028a0| 0a 20 20 20 20 72 65 71 | 75 69 72 65 20 22 41 42 |. req|uire "AB|
|000028b0| 53 57 46 43 54 52 4c 42 | 49 4e 2f 53 54 44 5f 53 |SWFCTRLB|IN/STD_S|
|000028c0| 55 42 4a 45 43 54 2e 50 | 4c 22 3b 0a 20 20 20 20 |UBJECT.P|L";. |
|000028d0| 69 66 20 28 28 24 57 46 | 43 52 3d 26 57 46 43 6f |if (($WF|CR=&WFCo|
|000028e0| 6d 6d 61 6e 64 53 75 62 | 6a 65 63 74 28 22 70 72 |mmandSub|ject("pr|
|000028f0| 65 76 22 2c 25 69 6e 29 | 29 20 6e 65 20 22 22 29 |ev",%in)|) ne "")|
|00002900| 7b 0a 20 20 20 20 20 20 | 20 20 26 57 46 45 72 72 |{. | &WFErr|
|00002910| 6f 72 28 24 57 46 43 52 | 29 3b 0a 09 24 43 6f 6d |or($WFCR|);..$Com|
|00002920| 6d 61 6e 64 54 6f 44 6f | 3d 24 6f 6e 66 61 69 6c |mandToDo|=$onfail|
|00002930| 7b 22 70 72 65 76 6d 65 | 73 73 61 67 65 22 7d 3b |{"prevme|ssage"};|
|00002940| 6c 61 73 74 20 54 68 65 | 5f 43 6f 6d 6d 61 6e 64 |last The|_Command|
|00002950| 73 3b 7d 3b 0a 20 20 20 | 20 24 43 6f 6d 6d 61 6e |s;};. | $Comman|
|00002960| 64 54 6f 44 6f 3d 22 65 | 78 69 74 22 3b 6c 61 73 |dToDo="e|xit";las|
|00002970| 74 20 54 68 65 5f 43 6f | 6d 6d 61 6e 64 73 3b 7d |t The_Co|mmands;}|
|00002980| 3b 0a 0a 20 20 24 43 6f | 6d 6d 61 6e 64 54 6f 44 |;.. $Co|mmandToD|
|00002990| 6f 20 65 71 20 22 70 6f | 73 74 22 20 26 26 20 64 |o eq "po|st" && d|
|000029a0| 6f 20 7b 0a 20 20 20 20 | 72 65 71 75 69 72 65 20 |o {. |require |
|000029b0| 22 41 42 53 57 46 43 54 | 52 4c 42 49 4e 2f 53 54 |"ABSWFCT|RLBIN/ST|
|000029c0| 44 5f 50 4f 53 54 2e 50 | 4c 22 3b 0a 20 20 20 20 |D_POST.P|L";. |
|000029d0| 69 66 20 28 28 24 57 46 | 43 52 3d 26 57 46 43 6f |if (($WF|CR=&WFCo|
|000029e0| 6d 6d 61 6e 64 50 6f 73 | 74 28 22 70 6f 73 74 22 |mmandPos|t("post"|
|000029f0| 2c 25 69 6e 29 29 20 6e | 65 20 22 22 29 7b 0a 20 |,%in)) n|e ""){. |
|00002a00| 20 20 20 20 20 20 20 26 | 57 46 45 72 72 6f 72 28 | &|WFError(|
|00002a10| 24 57 46 43 52 29 3b 0a | 09 24 43 6f 6d 6d 61 6e |$WFCR);.|.$Comman|
|00002a20| 64 54 6f 44 6f 3d 24 6f | 6e 66 61 69 6c 7b 22 70 |dToDo=$o|nfail{"p|
|00002a30| 6f 73 74 22 7d 3b 6c 61 | 73 74 20 54 68 65 5f 43 |ost"};la|st The_C|
|00002a40| 6f 6d 6d 61 6e 64 73 3b | 7d 3b 0a 20 20 20 20 24 |ommands;|};. $|
|00002a50| 43 6f 6d 6d 61 6e 64 54 | 6f 44 6f 3d 22 65 78 69 |CommandT|oDo="exi|
|00002a60| 74 22 3b 6c 61 73 74 20 | 54 68 65 5f 43 6f 6d 6d |t";last |The_Comm|
|00002a70| 61 6e 64 73 3b 7d 3b 0a | 0a 20 20 24 43 6f 6d 6d |ands;};.|. $Comm|
|00002a80| 61 6e 64 54 6f 44 6f 20 | 65 71 20 22 66 6f 6c 6c |andToDo |eq "foll|
|00002a90| 6f 77 75 70 22 20 26 26 | 20 64 6f 20 7b 0a 20 20 |owup" &&| do {. |
|00002aa0| 20 20 72 65 71 75 69 72 | 65 20 22 41 42 53 57 46 | requir|e "ABSWF|
|00002ab0| 43 54 52 4c 42 49 4e 2f | 53 54 44 5f 50 4f 53 54 |CTRLBIN/|STD_POST|
|00002ac0| 2e 50 4c 22 3b 0a 20 20 | 20 20 69 66 20 28 28 24 |.PL";. | if (($|
|00002ad0| 57 46 43 52 3d 26 57 46 | 43 6f 6d 6d 61 6e 64 50 |WFCR=&WF|CommandP|
|00002ae0| 6f 73 74 28 22 66 6f 6c | 6c 6f 77 75 70 22 2c 25 |ost("fol|lowup",%|
|00002af0| 69 6e 29 29 20 6e 65 20 | 22 22 29 7b 0a 20 20 20 |in)) ne |""){. |
|00002b00| 20 20 20 20 20 26 57 46 | 45 72 72 6f 72 28 24 57 | &WF|Error($W|
|00002b10| 46 43 52 29 3b 0a 09 24 | 43 6f 6d 6d 61 6e 64 54 |FCR);..$|CommandT|
|00002b20| 6f 44 6f 3d 24 6f 6e 66 | 61 69 6c 7b 22 66 6f 6c |oDo=$onf|ail{"fol|
|00002b30| 6c 6f 77 75 70 22 7d 3b | 6c 61 73 74 20 54 68 65 |lowup"};|last The|
|00002b40| 5f 43 6f 6d 6d 61 6e 64 | 73 3b 7d 3b 0a 20 20 20 |_Command|s;};. |
|00002b50| 20 24 43 6f 6d 6d 61 6e | 64 54 6f 44 6f 3d 22 65 | $Comman|dToDo="e|
|00002b60| 78 69 74 22 3b 6c 61 73 | 74 20 54 68 65 5f 43 6f |xit";las|t The_Co|
|00002b70| 6d 6d 61 6e 64 73 3b 7d | 3b 0a 0a 20 20 24 43 6f |mmands;}|;.. $Co|
|00002b80| 6d 6d 61 6e 64 54 6f 44 | 6f 20 65 71 20 22 72 65 |mmandToD|o eq "re|
|00002b90| 70 6c 79 22 20 26 26 20 | 64 6f 20 7b 0a 20 20 20 |ply" && |do {. |
|00002ba0| 20 72 65 71 75 69 72 65 | 20 22 41 42 53 57 46 43 | require| "ABSWFC|
|00002bb0| 54 52 4c 42 49 4e 2f 53 | 54 44 5f 50 4f 53 54 2e |TRLBIN/S|TD_POST.|
|00002bc0| 50 4c 22 3b 0a 20 20 20 | 20 69 66 20 28 28 24 57 |PL";. | if (($W|
|00002bd0| 46 43 52 3d 26 57 46 43 | 6f 6d 6d 61 6e 64 50 6f |FCR=&WFC|ommandPo|
|00002be0| 73 74 28 22 72 65 70 6c | 79 22 2c 25 69 6e 29 29 |st("repl|y",%in))|
|00002bf0| 20 6e 65 20 22 22 29 7b | 0a 20 20 20 20 20 20 20 | ne ""){|. |
|00002c00| 20 26 57 46 45 72 72 6f | 72 28 24 57 46 43 52 29 | &WFErro|r($WFCR)|
|00002c10| 3b 0a 09 24 43 6f 6d 6d | 61 6e 64 54 6f 44 6f 3d |;..$Comm|andToDo=|
|00002c20| 24 6f 6e 66 61 69 6c 7b | 22 72 65 70 6c 79 22 7d |$onfail{|"reply"}|
|00002c30| 3b 6c 61 73 74 20 54 68 | 65 5f 43 6f 6d 6d 61 6e |;last Th|e_Comman|
|00002c40| 64 73 3b 7d 3b 0a 20 20 | 20 20 24 43 6f 6d 6d 61 |ds;};. | $Comma|
|00002c50| 6e 64 54 6f 44 6f 3d 22 | 65 78 69 74 22 3b 6c 61 |ndToDo="|exit";la|
|00002c60| 73 74 20 54 68 65 5f 43 | 6f 6d 6d 61 6e 64 73 3b |st The_C|ommands;|
|00002c70| 7d 3b 0a 0a 20 20 24 43 | 6f 6d 6d 61 6e 64 54 6f |};.. $C|ommandTo|
|00002c80| 44 6f 20 65 71 20 22 6d | 6b 6d 73 67 22 20 26 26 |Do eq "m|kmsg" &&|
|00002c90| 20 64 6f 20 7b 0a 20 20 | 20 20 72 65 71 75 69 72 | do {. | requir|
|00002ca0| 65 20 22 41 42 53 57 46 | 43 54 52 4c 42 49 4e 2f |e "ABSWF|CTRLBIN/|
|00002cb0| 53 54 44 5f 4d 4b 4d 53 | 47 2e 50 4c 22 3b 0a 20 |STD_MKMS|G.PL";. |
|00002cc0| 20 20 20 69 66 20 28 28 | 24 57 46 43 52 3d 26 57 | if ((|$WFCR=&W|
|00002cd0| 46 43 6f 6d 6d 61 6e 64 | 4d 6b 6d 73 67 28 25 69 |FCommand|Mkmsg(%i|
|00002ce0| 6e 29 29 20 6e 65 20 22 | 22 29 7b 0a 20 20 20 20 |n)) ne "|"){. |
|00002cf0| 20 20 20 20 26 57 46 45 | 72 72 6f 72 28 24 57 46 | &WFE|rror($WF|
|00002d00| 43 52 29 3b 0a 09 24 43 | 6f 6d 6d 61 6e 64 54 6f |CR);..$C|ommandTo|
|00002d10| 44 6f 3d 24 6f 6e 66 61 | 69 6c 7b 22 6d 6b 6d 73 |Do=$onfa|il{"mkms|
|00002d20| 67 22 7d 3b 6c 61 73 74 | 20 54 68 65 5f 43 6f 6d |g"};last| The_Com|
|00002d30| 6d 61 6e 64 73 3b 7d 3b | 0a 20 20 20 20 24 43 6f |mands;};|. $Co|
|00002d40| 6d 6d 61 6e 64 54 6f 44 | 6f 3d 22 73 75 62 6a 65 |mmandToD|o="subje|
|00002d50| 63 74 22 3b 6c 61 73 74 | 20 54 68 65 5f 43 6f 6d |ct";last| The_Com|
|00002d60| 6d 61 6e 64 73 3b 7d 3b | 0a 0a 20 20 24 43 6f 6d |mands;};|.. $Com|
|00002d70| 6d 61 6e 64 54 6f 44 6f | 20 65 71 20 22 63 61 6e |mandToDo| eq "can|
|00002d80| 63 65 6c 22 20 26 26 20 | 64 6f 20 7b 0a 20 20 20 |cel" && |do {. |
|00002d90| 20 72 65 71 75 69 72 65 | 20 22 41 42 53 57 46 43 | require| "ABSWFC|
|00002da0| 54 52 4c 42 49 4e 2f 53 | 54 44 5f 43 41 4e 43 45 |TRLBIN/S|TD_CANCE|
|00002db0| 4c 2e 50 4c 22 3b 0a 20 | 20 20 20 69 66 20 28 28 |L.PL";. | if ((|
|00002dc0| 24 57 46 43 52 3d 26 57 | 46 43 6f 6d 6d 61 6e 64 |$WFCR=&W|FCommand|
|00002dd0| 43 61 6e 63 65 6c 28 25 | 69 6e 29 29 20 6e 65 20 |Cancel(%|in)) ne |
|00002de0| 22 22 29 7b 0a 20 20 20 | 20 20 20 20 20 26 57 46 |""){. | &WF|
|00002df0| 45 72 72 6f 72 28 24 57 | 46 43 52 29 3b 0a 09 24 |Error($W|FCR);..$|
|00002e00| 43 6f 6d 6d 61 6e 64 54 | 6f 44 6f 3d 24 6f 6e 66 |CommandT|oDo=$onf|
|00002e10| 61 69 6c 7b 22 63 61 6e | 63 65 6c 22 7d 3b 6c 61 |ail{"can|cel"};la|
|00002e20| 73 74 20 54 68 65 5f 43 | 6f 6d 6d 61 6e 64 73 3b |st The_C|ommands;|
|00002e30| 7d 3b 0a 20 20 20 20 24 | 43 6f 6d 6d 61 6e 64 54 |};. $|CommandT|
|00002e40| 6f 44 6f 3d 22 73 75 62 | 6a 65 63 74 22 3b 6c 61 |oDo="sub|ject";la|
|00002e50| 73 74 20 54 68 65 5f 43 | 6f 6d 6d 61 6e 64 73 3b |st The_C|ommands;|
|00002e60| 7d 3b 0a 0a 20 20 64 6f | 20 7b 0a 20 20 20 20 26 |};.. do| {. &|
|00002e70| 57 46 45 72 72 6f 72 28 | 22 55 6e 6b 6e 6f 77 6e |WFError(|"Unknown|
|00002e80| 20 6f 72 20 75 6e 69 6d | 70 6c 65 6d 65 6e 74 65 | or unim|plemente|
|00002e90| 64 20 63 6f 6d 6d 61 6e | 64 3a 20 24 43 6f 6d 6d |d comman|d: $Comm|
|00002ea0| 61 6e 64 54 6f 44 6f 5c | 6e 22 29 3b 0a 20 20 20 |andToDo\|n");. |
|00002eb0| 20 24 43 6f 6d 6d 61 6e | 64 54 6f 44 6f 3d 22 74 | $Comman|dToDo="t|
|00002ec0| 6f 70 22 3b 0a 20 20 7d | 0a 20 7d 0a 7d 0a 00 00 |op";. }|. }.}...|
|00002ed0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ee0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ef0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002f00| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002f10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002f20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002f30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002f40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002f50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002f60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002f70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002f80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002f90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002fa0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002fb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002fc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002fd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002fe0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ff0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003000| 57 65 62 46 6f 72 75 6d | 2f 73 72 63 2f 6c 69 62 |WebForum|/src/lib|
|00003010| 57 65 62 46 6f 72 75 6d | 2e 70 6c 00 00 00 00 00 |WebForum|.pl.....|
|00003020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003040| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003050| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003060| 00 00 00 00 20 20 20 37 | 35 35 20 00 20 37 33 37 |.... 7|55 . 737|
|00003070| 35 37 20 00 20 37 33 37 | 35 34 20 00 20 20 20 20 |57 . 737|54 . |
|00003080| 20 20 33 30 30 31 33 20 | 20 35 37 30 37 34 31 36 | 30013 | 5707416|
|00003090| 33 34 37 20 20 31 31 34 | 32 30 00 20 00 00 00 00 |347 114|20. ....|
|000030a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000030b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000030c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000030d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000030e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000030f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003100| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003110| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003120| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003130| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003140| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003150| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003170| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003180| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003190| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000031a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000031b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000031c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000031d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000031e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000031f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003200| 23 0a 23 20 50 65 61 72 | 6c 20 72 6f 75 74 69 6e |#.# Pear|l routin|
|00003210| 65 73 20 63 6f 6d 6d 6f | 6e 20 66 6f 72 20 74 68 |es commo|n for th|
|00003220| 65 20 57 65 62 46 6f 72 | 75 6d 0a 23 20 43 6f 70 |e WebFor|um.# Cop|
|00003230| 79 72 69 67 68 74 20 28 | 43 29 20 31 39 39 34 20 |yright (|C) 1994 |
|00003240| 41 66 7a 61 6c 20 42 61 | 6c 6c 69 6d 0a 23 20 61 |Afzal Ba|llim.# a|
|00003250| 66 7a 61 6c 40 64 69 76 | 73 75 6e 2e 75 6e 69 67 |fzal@div|sun.unig|
|00003260| 65 2e 63 68 0a 0a 23 23 | 23 23 23 23 23 23 23 23 |e.ch..##|########|
|00003270| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003280| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003290| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000032a0| 23 23 0a 23 0a 23 20 57 | 46 48 74 6d 6c 48 65 61 |##.#.# W|FHtmlHea|
|000032b0| 64 65 72 3a 20 70 72 69 | 6e 74 20 74 68 65 20 63 |der: pri|nt the c|
|000032c0| 6f 6e 74 65 6e 74 20 68 | 65 61 64 65 72 0a 73 75 |ontent h|eader.su|
|000032d0| 62 20 57 46 48 74 6d 6c | 48 65 61 64 65 72 20 7b |b WFHtml|Header {|
|000032e0| 0a 20 20 20 20 70 72 69 | 6e 74 20 22 43 6f 6e 74 |. pri|nt "Cont|
|000032f0| 65 6e 74 2d 74 79 70 65 | 3a 20 74 65 78 74 2f 68 |ent-type|: text/h|
|00003300| 74 6d 6c 5c 6e 5c 6e 22 | 3b 0a 20 20 20 20 72 65 |tml\n\n"|;. re|
|00003310| 74 75 72 6e 20 31 3b 0a | 7d 0a 0a 23 23 23 23 23 |turn 1;.|}..#####|
|00003320| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003330| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003340| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003350| 23 23 23 23 23 23 23 0a | 23 0a 23 20 57 46 45 72 |#######.|#.# WFEr|
|00003360| 72 6f 72 3a 20 73 65 6e | 64 20 62 61 63 6b 20 61 |ror: sen|d back a|
|00003370| 6e 20 65 72 72 6f 72 20 | 6d 65 73 73 61 67 65 0a |n error |message.|
|00003380| 73 75 62 20 57 46 45 72 | 72 6f 72 20 7b 0a 20 70 |sub WFEr|ror {. p|
|00003390| 72 69 6e 74 20 22 3c 68 | 72 3e 3c 68 32 3e 2a 2a |rint "<h|r><h2>**|
|000033a0| 2a 45 52 52 4f 52 2a 2a | 2a 3c 2f 68 32 3e 5c 6e |*ERROR**|*</h2>\n|
|000033b0| 22 3b 0a 20 70 72 69 6e | 74 20 40 5f 3b 0a 20 70 |";. prin|t @_;. p|
|000033c0| 72 69 6e 74 20 22 5c 6e | 3c 68 72 3e 5c 6e 22 3b |rint "\n|<hr>\n";|
|000033d0| 0a 7d 0a 0a 0a 23 23 23 | 23 23 23 23 23 23 23 23 |.}...###|########|
|000033e0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000033f0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003400| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003410| 23 0a 23 0a 23 20 57 46 | 49 6e 63 46 69 6c 65 3a |#.#.# WF|IncFile:|
|00003420| 20 70 72 69 6e 74 20 74 | 68 65 20 63 6f 6e 74 65 | print t|he conte|
|00003430| 6e 74 73 20 6f 66 20 61 | 20 66 69 6c 65 20 74 6f |nts of a| file to|
|00003440| 20 74 68 65 20 73 74 64 | 2e 20 6f 75 74 70 75 74 | the std|. output|
|00003450| 0a 23 20 20 20 20 20 20 | 20 20 20 20 20 20 41 72 |.# | Ar|
|00003460| 67 75 6d 65 6e 74 73 20 | 61 66 74 65 72 20 74 68 |guments |after th|
|00003470| 65 20 66 69 6c 65 20 6e | 61 6d 65 20 61 72 65 20 |e file n|ame are |
|00003480| 70 61 74 74 65 72 6e 2f | 73 74 72 69 6e 67 0a 23 |pattern/|string.#|
|00003490| 20 20 20 20 20 20 20 20 | 20 20 20 20 70 61 69 72 | | pair|
|000034a0| 73 20 74 6f 20 62 65 20 | 61 70 70 6c 69 65 64 20 |s to be |applied |
|000034b0| 74 6f 20 74 68 65 20 69 | 6e 70 75 74 20 6f 66 20 |to the i|nput of |
|000034c0| 74 68 65 20 66 69 6c 65 | 2e 0a 73 75 62 20 57 46 |the file|..sub WF|
|000034d0| 49 6e 63 46 69 6c 65 20 | 7b 0a 20 20 20 20 6c 6f |IncFile |{. lo|
|000034e0| 63 61 6c 20 28 24 66 69 | 6c 65 29 3d 73 68 69 66 |cal ($fi|le)=shif|
|000034f0| 74 20 40 5f 3b 0a 20 20 | 20 20 6c 6f 63 61 6c 20 |t @_;. | local |
|00003500| 28 24 72 65 70 5f 70 72 | 6f 67 29 3b 0a 20 20 20 |($rep_pr|og);. |
|00003510| 20 6c 6f 63 61 6c 20 28 | 2a 46 49 4c 45 29 3b 0a | local (|*FILE);.|
|00003520| 20 20 20 20 6f 70 65 6e | 28 46 49 4c 45 2c 22 3c | open|(FILE,"<|
|00003530| 24 66 69 6c 65 22 29 7c | 7c 72 65 74 75 72 6e 20 |$file")|||return |
|00003540| 30 3b 0a 0a 20 20 20 20 | 77 68 69 6c 65 20 28 40 |0;.. |while (@|
|00003550| 5f 29 20 7b 0a 20 20 20 | 20 20 24 72 65 70 5f 70 |_) {. | $rep_p|
|00003560| 72 6f 67 20 3d 20 24 72 | 65 70 5f 70 72 6f 67 20 |rog = $r|ep_prog |
|00003570| 2e 20 22 73 5e 22 20 2e | 20 26 57 46 50 72 6f 74 |. "s^" .| &WFProt|
|00003580| 65 63 74 53 70 65 63 69 | 61 6c 73 28 73 68 69 66 |ectSpeci|als(shif|
|00003590| 74 28 40 5f 29 29 20 2e | 20 0a 20 20 20 20 20 20 |t(@_)) .| . |
|000035a0| 20 20 20 20 20 20 20 20 | 20 20 27 5e 27 20 2e 20 | | '^' . |
|000035b0| 26 57 46 50 72 6f 74 65 | 63 74 53 70 65 63 69 61 |&WFProte|ctSpecia|
|000035c0| 6c 73 28 73 68 69 66 74 | 28 40 5f 29 29 20 2e 20 |ls(shift|(@_)) . |
|000035d0| 22 5e 67 3b 22 3b 0a 20 | 20 20 20 7d 0a 20 20 20 |"^g;";. | }. |
|000035e0| 20 77 68 69 6c 65 20 28 | 3c 46 49 4c 45 3e 29 20 | while (|<FILE>) |
|000035f0| 7b 0a 20 20 20 20 20 65 | 76 61 6c 20 24 72 65 70 |{. e|val $rep|
|00003600| 5f 70 72 6f 67 3b 0a 20 | 20 20 20 20 70 72 69 6e |_prog;. | prin|
|00003610| 74 3b 0a 20 20 20 20 7d | 0a 20 20 20 20 63 6c 6f |t;. }|. clo|
|00003620| 73 65 28 46 49 4c 45 29 | 3b 0a 20 20 20 20 72 65 |se(FILE)|;. re|
|00003630| 74 75 72 6e 20 31 3b 0a | 7d 0a 0a 23 23 23 23 23 |turn 1;.|}..#####|
|00003640| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003650| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003660| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003670| 23 23 23 23 23 23 23 0a | 23 0a 23 20 57 46 47 65 |#######.|#.# WFGe|
|00003680| 74 46 69 6c 65 3a 20 72 | 65 74 72 69 65 76 65 20 |tFile: r|etrieve |
|00003690| 74 68 65 20 63 6f 6e 74 | 65 6e 74 73 20 6f 66 20 |the cont|ents of |
|000036a0| 61 20 66 69 6c 65 20 61 | 6e 64 20 72 65 74 75 72 |a file a|nd retur|
|000036b0| 6e 0a 23 20 20 20 20 20 | 20 20 20 20 20 20 20 61 |n.# | a|
|000036c0| 6e 20 61 73 73 6f 63 69 | 61 74 69 76 65 20 61 72 |n associ|ative ar|
|000036d0| 72 61 79 2e 20 54 68 65 | 20 62 6f 64 79 20 6f 66 |ray. The| body of|
|000036e0| 20 74 68 65 20 61 72 72 | 61 79 0a 23 20 20 20 20 | the arr|ay.# |
|000036f0| 20 20 20 20 20 20 20 20 | 63 61 6e 20 62 65 20 72 | |can be r|
|00003700| 65 74 72 69 65 76 65 64 | 20 62 79 20 74 68 65 20 |etrieved| by the |
|00003710| 6b 65 79 20 22 62 6f 64 | 79 22 2e 20 49 66 20 74 |key "bod|y". If t|
|00003720| 68 65 0a 23 20 20 20 20 | 20 20 20 20 20 20 20 20 |he.# | |
|00003730| 66 69 6c 65 20 63 6f 6e | 74 61 69 6e 73 20 61 20 |file con|tains a |
|00003740| 68 65 61 64 65 72 2c 20 | 74 68 65 6e 20 74 68 65 |header, |then the|
|00003750| 20 68 65 61 64 65 72 0a | 23 20 20 20 20 20 20 20 | header.|# |
|00003760| 20 20 20 20 20 63 6f 6e | 74 61 69 6e 73 20 61 72 | con|tains ar|
|00003770| 67 2f 76 61 6c 20 70 61 | 69 72 73 20 28 31 20 70 |g/val pa|irs (1 p|
|00003780| 65 72 20 6c 69 6e 65 29 | 20 77 69 74 68 20 62 6f |er line)| with bo|
|00003790| 74 68 0a 23 20 20 20 20 | 20 20 20 20 20 20 20 20 |th.# | |
|000037a0| 61 72 67 20 61 6e 64 20 | 76 61 6c 75 65 20 65 6e |arg and |value en|
|000037b0| 63 6f 64 65 64 2e 20 54 | 68 65 79 20 61 72 65 20 |coded. T|hey are |
|000037c0| 72 65 74 75 72 6e 65 64 | 20 69 6e 20 74 68 65 0a |returned| in the.|
|000037d0| 23 20 20 20 20 20 20 20 | 20 20 20 20 20 61 72 72 |# | arr|
|000037e0| 61 79 20 77 69 74 68 20 | 75 6e 65 6e 63 6f 64 65 |ay with |unencode|
|000037f0| 64 20 61 72 67 20 61 73 | 20 6b 65 79 2c 20 61 6e |d arg as| key, an|
|00003800| 64 20 75 6e 65 6e 63 6f | 64 65 64 0a 23 20 20 20 |d unenco|ded.# |
|00003810| 20 20 20 20 20 20 20 20 | 20 76 61 6c 75 65 20 61 | | value a|
|00003820| 73 2c 20 77 65 6c 6c 20 | 74 68 65 20 76 61 6c 75 |s, well |the valu|
|00003830| 65 2e 0a 23 20 20 20 20 | 20 20 20 20 20 20 20 20 |e..# | |
|00003840| 54 68 65 20 73 61 6d 65 | 20 73 75 62 73 74 69 74 |The same| substit|
|00003850| 75 74 69 6f 6e 73 20 61 | 73 20 77 69 74 68 20 57 |utions a|s with W|
|00003860| 46 49 6e 63 46 69 6c 65 | 20 61 72 65 0a 23 20 20 |FIncFile| are.# |
|00003870| 20 20 20 20 20 20 20 20 | 20 20 70 6f 73 73 69 62 | | possib|
|00003880| 6c 65 20 6f 6e 20 74 68 | 65 20 62 6f 64 79 2e 0a |le on th|e body..|
|00003890| 0a 73 75 62 20 57 46 47 | 65 74 46 69 6c 65 20 7b |.sub WFG|etFile {|
|000038a0| 0a 20 6c 6f 63 61 6c 20 | 28 25 67 66 29 3b 0a 20 |. local |(%gf);. |
|000038b0| 6c 6f 63 61 6c 20 28 24 | 66 69 6c 65 29 3d 73 68 |local ($|file)=sh|
|000038c0| 69 66 74 20 40 5f 3b 0a | 20 6c 6f 63 61 6c 20 28 |ift @_;.| local (|
|000038d0| 24 72 65 70 5f 70 72 6f | 67 29 3b 0a 20 6c 6f 63 |$rep_pro|g);. loc|
|000038e0| 61 6c 20 28 24 61 72 67 | 2c 24 76 61 6c 75 65 29 |al ($arg|,$value)|
|000038f0| 3b 0a 20 6c 6f 63 61 6c | 20 28 2a 46 49 4c 45 29 |;. local| (*FILE)|
|00003900| 3b 0a 20 6f 70 65 6e 28 | 46 49 4c 45 2c 22 3c 24 |;. open(|FILE,"<$|
|00003910| 66 69 6c 65 22 29 7c 7c | 72 65 74 75 72 6e 20 30 |file")|||return 0|
|00003920| 3b 0a 0a 20 24 5f 20 3d | 20 3c 46 49 4c 45 3e 3b |;.. $_ =| <FILE>;|
|00003930| 0a 20 69 66 20 28 2f 5e | 57 46 20 46 69 6c 65 20 |. if (/^|WF File |
|00003940| 48 65 61 64 65 72 2f 29 | 20 7b 0a 20 20 24 5f 3d |Header/)| {. $_=|
|00003950| 3c 46 49 4c 45 3e 3b 0a | 20 20 77 68 69 6c 65 20 |<FILE>;.| while |
|00003960| 28 21 2f 5e 45 6e 64 20 | 48 65 61 64 65 72 2f 29 |(!/^End |Header/)|
|00003970| 20 7b 0a 20 20 20 2f 5e | 28 5b 5e 3d 5d 2b 29 3d | {. /^|([^=]+)=|
|00003980| 28 2e 2b 29 5c 6e 2f 3b | 0a 20 20 20 24 61 72 67 |(.+)\n/;|. $arg|
|00003990| 3d 26 57 46 44 65 63 6f | 64 65 44 61 74 75 6d 28 |=&WFDeco|deDatum(|
|000039a0| 24 31 29 3b 0a 20 20 20 | 24 76 61 6c 75 65 3d 26 |$1);. |$value=&|
|000039b0| 57 46 44 65 63 6f 64 65 | 44 61 74 75 6d 28 24 32 |WFDecode|Datum($2|
|000039c0| 29 3b 0a 20 20 20 24 67 | 66 7b 22 24 61 72 67 22 |);. $g|f{"$arg"|
|000039d0| 7d 3d 24 76 61 6c 75 65 | 3b 0a 20 20 20 24 5f 3d |}=$value|;. $_=|
|000039e0| 3c 46 49 4c 45 3e 3b 0a | 20 20 7d 0a 20 7d 0a 0a |<FILE>;.| }. }..|
|000039f0| 20 77 68 69 6c 65 20 28 | 40 5f 29 20 7b 0a 20 20 | while (|@_) {. |
|00003a00| 24 72 65 70 5f 70 72 6f | 67 20 3d 20 24 72 65 70 |$rep_pro|g = $rep|
|00003a10| 5f 70 72 6f 67 20 2e 20 | 22 73 5e 22 20 2e 20 73 |_prog . |"s^" . s|
|00003a20| 68 69 66 74 28 40 5f 29 | 20 2e 20 27 5e 27 20 2e |hift(@_)| . '^' .|
|00003a30| 20 73 68 69 66 74 28 40 | 5f 29 20 2e 20 22 5e 6f | shift(@|_) . "^o|
|00003a40| 67 3b 22 3b 0a 20 7d 0a | 20 77 68 69 6c 65 20 28 |g;";. }.| while (|
|00003a50| 3c 46 49 4c 45 3e 29 20 | 7b 0a 20 20 65 76 61 6c |<FILE>) |{. eval|
|00003a60| 20 24 72 65 70 5f 70 72 | 6f 67 3b 0a 20 20 24 67 | $rep_pr|og;. $g|
|00003a70| 66 7b 22 62 6f 64 79 22 | 7d 20 3d 20 24 67 66 7b |f{"body"|} = $gf{|
|00003a80| 22 62 6f 64 79 22 7d 20 | 2e 20 24 5f 3b 0a 20 7d |"body"} |. $_;. }|
|00003a90| 0a 0a 20 63 6c 6f 73 65 | 28 46 49 4c 45 29 3b 0a |.. close|(FILE);.|
|00003aa0| 20 72 65 74 75 72 6e 20 | 25 67 66 3b 0a 7d 0a 0a | return |%gf;.}..|
|00003ab0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003ac0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003ad0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003ae0| 23 23 23 23 23 23 23 23 | 23 23 23 23 0a 23 0a 23 |########|####.#.#|
|00003af0| 20 57 46 50 75 74 46 69 | 6c 65 3a 20 41 20 66 69 | WFPutFi|le: A fi|
|00003b00| 6c 65 20 69 73 20 77 72 | 69 74 74 65 6e 20 75 73 |le is wr|itten us|
|00003b10| 69 6e 67 20 61 6e 20 61 | 73 73 6f 63 69 61 74 69 |ing an a|ssociati|
|00003b20| 76 65 20 61 72 72 61 79 | 0a 23 20 20 20 20 20 20 |ve array|.# |
|00003b30| 20 20 20 20 20 20 61 73 | 20 69 74 73 20 62 61 73 | as| its bas|
|00003b40| 69 73 2e 20 54 68 65 20 | 22 62 6f 64 79 22 20 6b |is. The |"body" k|
|00003b50| 65 79 20 67 69 76 65 73 | 20 61 20 62 6f 64 79 20 |ey gives| a body |
|00003b60| 74 6f 0a 23 20 20 20 20 | 20 20 20 20 20 20 20 20 |to.# | |
|00003b70| 62 65 20 77 72 69 74 74 | 65 6e 2e 20 49 66 20 74 |be writt|en. If t|
|00003b80| 68 65 72 65 20 61 72 65 | 20 6f 74 68 65 72 20 6b |here are| other k|
|00003b90| 65 79 73 2c 20 74 68 65 | 6e 20 74 68 65 79 0a 23 |eys, the|n they.#|
|00003ba0| 20 20 20 20 20 20 20 20 | 20 20 20 20 61 72 65 20 | | are |
|00003bb0| 77 72 69 74 74 65 6e 20 | 74 6f 20 61 20 68 65 61 |written |to a hea|
|00003bc0| 64 65 72 2e 0a 0a 73 75 | 62 20 57 46 50 75 74 46 |der...su|b WFPutF|
|00003bd0| 69 6c 65 20 7b 0a 20 6c | 6f 63 61 6c 20 28 24 66 |ile {. l|ocal ($f|
|00003be0| 69 6c 65 29 3d 73 68 69 | 66 74 20 40 5f 3b 0a 20 |ile)=shi|ft @_;. |
|00003bf0| 6c 6f 63 61 6c 20 28 25 | 67 66 29 3d 40 5f 3b 0a |local (%|gf)=@_;.|
|00003c00| 0a 20 6c 6f 63 61 6c 20 | 28 24 6b 29 3b 0a 20 6c |. local |($k);. l|
|00003c10| 6f 63 61 6c 20 28 40 6b | 79 73 29 3d 6b 65 79 73 |ocal (@k|ys)=keys|
|00003c20| 20 25 67 66 3b 0a 20 6c | 6f 63 61 6c 20 28 2a 46 | %gf;. l|ocal (*F|
|00003c30| 49 4c 45 29 3b 0a 20 6f | 70 65 6e 28 46 49 4c 45 |ILE);. o|pen(FILE|
|00003c40| 2c 22 3e 24 66 69 6c 65 | 22 29 7c 7c 72 65 74 75 |,">$file|")||retu|
|00003c50| 72 6e 20 30 3b 0a 0a 20 | 69 66 20 28 24 23 6b 79 |rn 0;.. |if ($#ky|
|00003c60| 73 20 3e 30 29 20 7b 0a | 20 20 70 72 69 6e 74 20 |s >0) {.| print |
|00003c70| 46 49 4c 45 20 22 57 46 | 20 46 69 6c 65 20 48 65 |FILE "WF| File He|
|00003c80| 61 64 65 72 5c 6e 22 3b | 0a 20 20 66 6f 72 65 61 |ader\n";|. forea|
|00003c90| 63 68 20 24 6b 20 28 40 | 6b 79 73 29 20 7b 0a 20 |ch $k (@|kys) {. |
|00003ca0| 20 20 20 6e 65 78 74 20 | 69 66 20 24 6b 20 65 71 | next |if $k eq|
|00003cb0| 20 27 62 6f 64 79 27 3b | 0a 20 20 20 20 70 72 69 | 'body';|. pri|
|00003cc0| 6e 74 20 46 49 4c 45 20 | 26 57 46 45 6e 63 6f 64 |nt FILE |&WFEncod|
|00003cd0| 65 44 61 74 75 6d 28 24 | 6b 29 2c 22 3d 22 2c 26 |eDatum($|k),"=",&|
|00003ce0| 57 46 45 6e 63 6f 64 65 | 44 61 74 75 6d 28 24 67 |WFEncode|Datum($g|
|00003cf0| 66 7b 22 24 6b 22 7d 29 | 2c 22 5c 6e 22 3b 0a 20 |f{"$k"})|,"\n";. |
|00003d00| 20 7d 0a 20 20 70 72 69 | 6e 74 20 46 49 4c 45 20 | }. pri|nt FILE |
|00003d10| 22 45 6e 64 20 48 65 61 | 64 65 72 5c 6e 22 3b 0a |"End Hea|der\n";.|
|00003d20| 20 7d 0a 0a 20 70 72 69 | 6e 74 20 46 49 4c 45 20 | }.. pri|nt FILE |
|00003d30| 24 67 66 7b 22 62 6f 64 | 79 22 7d 3b 0a 20 63 6c |$gf{"bod|y"};. cl|
|00003d40| 6f 73 65 28 46 49 4c 45 | 29 3b 0a 20 72 65 74 75 |ose(FILE|);. retu|
|00003d50| 72 6e 20 31 3b 0a 7d 0a | 0a 23 23 23 23 23 23 23 |rn 1;.}.|.#######|
|00003d60| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003d70| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003d80| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003d90| 23 23 23 23 23 0a 23 0a | 23 20 57 46 45 6e 63 6f |#####.#.|# WFEnco|
|00003da0| 64 65 44 61 74 75 6d 3a | 20 65 6e 63 6f 64 65 20 |deDatum:| encode |
|00003db0| 61 20 73 74 72 69 6e 67 | 20 73 6f 20 74 68 61 74 |a string| so that|
|00003dc0| 20 69 74 20 63 61 6e 20 | 62 65 20 75 73 65 64 20 | it can |be used |
|00003dd0| 69 6e 20 74 68 65 0a 23 | 20 20 20 20 20 20 20 20 |in the.#| |
|00003de0| 20 20 20 20 20 20 20 70 | 61 74 68 2d 69 6e 66 6f | p|ath-info|
|00003df0| 20 66 69 65 6c 64 20 6f | 66 20 61 20 47 45 54 20 | field o|f a GET |
|00003e00| 6d 65 74 68 6f 64 20 63 | 61 6c 6c 20 6f 72 20 73 |method c|all or s|
|00003e10| 65 6e 74 0a 23 20 20 20 | 20 20 20 20 20 20 20 20 |ent.# | |
|00003e20| 20 20 20 20 73 74 72 61 | 69 67 68 74 20 74 6f 20 | stra|ight to |
|00003e30| 61 20 50 4f 53 54 20 6d | 65 74 68 6f 64 20 73 63 |a POST m|ethod sc|
|00003e40| 72 69 70 74 20 61 73 20 | 73 74 64 2e 20 69 6e 70 |ript as |std. inp|
|00003e50| 75 74 0a 23 20 20 20 20 | 20 20 20 20 20 20 20 20 |ut.# | |
|00003e60| 20 20 20 54 68 69 73 20 | 69 73 20 61 20 70 72 65 | This |is a pre|
|00003e70| 74 74 79 20 65 78 74 72 | 65 6d 65 20 76 65 72 73 |tty extr|eme vers|
|00003e80| 69 6f 6e 20 77 68 69 63 | 68 20 65 6e 63 6f 64 65 |ion whic|h encode|
|00003e90| 73 0a 23 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |s.# | |
|00003ea0| 20 20 6a 75 73 74 20 61 | 62 6f 75 74 20 61 6e 79 | just a|bout any|
|00003eb0| 74 68 69 6e 67 2e 0a 73 | 75 62 20 57 46 45 6e 63 |thing..s|ub WFEnc|
|00003ec0| 6f 64 65 44 61 74 75 6d | 20 7b 0a 20 6c 6f 63 61 |odeDatum| {. loca|
|00003ed0| 6c 20 28 24 5f 29 20 3d | 20 40 5f 5b 30 5d 3b 0a |l ($_) =| @_[0];.|
|00003ee0| 20 23 20 76 61 72 69 6f | 75 73 20 63 68 61 72 61 | # vario|us chara|
|00003ef0| 63 74 65 72 73 20 69 6e | 74 6f 20 68 65 78 20 65 |cters in|to hex e|
|00003f00| 71 75 69 76 61 6c 65 6e | 74 73 0a 20 73 2f 28 5b |quivalen|ts. s/([|
|00003f10| 5e 41 2d 5a 61 2d 7a 30 | 2d 39 20 5d 29 2f 73 70 |^A-Za-z0|-9 ])/sp|
|00003f20| 72 69 6e 74 66 28 22 25 | 25 25 2e 32 78 22 2c 6f |rintf("%|%%.2x",o|
|00003f30| 72 64 28 24 31 29 29 2f | 65 67 3b 0a 20 23 20 6e |rd($1))/|eg;. # n|
|00003f40| 6f 77 20 63 6f 6e 76 65 | 72 74 20 73 70 61 63 65 |ow conve|rt space|
|00003f50| 73 20 69 6e 74 6f 20 2b | 20 73 69 67 6e 73 0a 20 |s into +| signs. |
|00003f60| 73 2f 20 2f 2b 2f 67 3b | 0a 20 72 65 74 75 72 6e |s/ /+/g;|. return|
|00003f70| 20 24 5f 3b 0a 7d 0a 0a | 23 23 23 23 23 23 23 23 | $_;.}..|########|
|00003f80| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003f90| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003fa0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00003fb0| 23 23 23 23 0a 23 0a 23 | 20 57 46 44 65 63 6f 64 |####.#.#| WFDecod|
|00003fc0| 65 44 61 74 75 6d 3a 20 | 44 65 63 6f 64 65 20 61 |eDatum: |Decode a|
|00003fd0| 6e 20 65 6e 63 6f 64 65 | 64 20 64 61 74 61 20 69 |n encode|d data i|
|00003fe0| 74 65 6d 0a 73 75 62 20 | 57 46 44 65 63 6f 64 65 |tem.sub |WFDecode|
|00003ff0| 44 61 74 75 6d 20 7b 0a | 20 6c 6f 63 61 6c 20 28 |Datum {.| local (|
|00004000| 24 5f 29 20 3d 40 5f 5b | 30 5d 3b 0a 20 23 20 63 |$_) =@_[|0];. # c|
|00004010| 6f 6e 76 65 72 74 20 2b | 20 74 6f 20 73 70 61 63 |onvert +| to spac|
|00004020| 65 0a 20 73 2f 5c 2b 2f | 20 2f 67 3b 0a 20 23 20 |e. s/\+/| /g;. # |
|00004030| 63 6f 6e 76 65 72 74 20 | 68 65 78 20 76 61 6c 75 |convert |hex valu|
|00004040| 65 73 20 74 6f 20 74 68 | 65 69 72 20 63 68 61 72 |es to th|eir char|
|00004050| 61 63 74 65 72 0a 20 73 | 2f 25 28 2e 2e 29 2f 70 |acter. s|/%(..)/p|
|00004060| 61 63 6b 28 22 63 22 2c | 68 65 78 28 24 31 29 29 |ack("c",|hex($1))|
|00004070| 2f 67 65 3b 0a 20 72 65 | 74 75 72 6e 20 24 5f 3b |/ge;. re|turn $_;|
|00004080| 0a 7d 0a 0a 23 23 23 23 | 23 23 23 23 23 23 23 23 |.}..####|########|
|00004090| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000040a0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000040b0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000040c0| 0a 23 0a 23 20 57 46 45 | 6e 63 6f 64 65 44 61 74 |.#.# WFE|ncodeDat|
|000040d0| 61 3a 20 65 6e 63 6f 64 | 65 20 61 6e 20 61 73 73 |a: encod|e an ass|
|000040e0| 6f 63 69 61 74 65 20 61 | 72 72 61 79 20 69 6e 74 |ociate a|rray int|
|000040f0| 6f 20 61 6e 20 65 6e 63 | 6f 64 65 64 0a 23 20 20 |o an enc|oded.# |
|00004100| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 73 74 72 | | str|
|00004110| 69 6e 67 20 6f 66 20 74 | 68 65 20 66 6f 72 6d 20 |ing of t|he form |
|00004120| 75 73 65 64 20 62 79 20 | 57 57 57 2e 0a 73 75 62 |used by |WWW..sub|
|00004130| 20 57 46 45 6e 63 6f 64 | 65 44 61 74 61 20 7b 0a | WFEncod|eData {.|
|00004140| 20 6c 6f 63 61 6c 20 28 | 24 65 6e 63 6f 64 65 64 | local (|$encoded|
|00004150| 29 3d 22 22 3b 0a 20 6c | 6f 63 61 6c 20 28 25 69 |)="";. l|ocal (%i|
|00004160| 6e 29 20 3d 20 40 5f 3b | 0a 20 6c 6f 63 61 6c 20 |n) = @_;|. local |
|00004170| 28 40 6b 29 20 3d 20 6b | 65 79 73 20 25 69 6e 3b |(@k) = k|eys %in;|
|00004180| 0a 20 6c 6f 63 61 6c 20 | 28 24 61 6b 29 3b 0a 0a |. local |($ak);..|
|00004190| 20 66 6f 72 65 61 63 68 | 20 24 61 6b 20 28 40 6b | foreach| $ak (@k|
|000041a0| 29 20 7b 0a 20 20 20 20 | 24 65 6e 63 6f 64 65 64 |) {. |$encoded|
|000041b0| 20 3d 20 24 65 6e 63 6f | 64 65 64 20 2e 20 22 24 | = $enco|ded . "$|
|000041c0| 61 6b 3d 22 20 2e 20 26 | 57 46 45 6e 63 6f 64 65 |ak=" . &|WFEncode|
|000041d0| 44 61 74 75 6d 28 24 69 | 6e 7b 22 24 61 6b 22 7d |Datum($i|n{"$ak"}|
|000041e0| 29 20 2e 20 22 26 22 3b | 0a 20 7d 0a 20 72 65 74 |) . "&";|. }. ret|
|000041f0| 75 72 6e 20 24 65 6e 63 | 6f 64 65 64 3b 0a 7d 0a |urn $enc|oded;.}.|
|00004200| 0a 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |.#######|########|
|00004210| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004220| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004230| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 0a 23 0a |########|#####.#.|
|00004240| 23 20 57 46 44 65 63 6f | 64 65 44 61 74 61 3a 20 |# WFDeco|deData: |
|00004250| 64 65 63 6f 64 65 20 61 | 20 64 61 74 61 20 73 74 |decode a| data st|
|00004260| 72 69 6e 67 20 69 6e 74 | 6f 20 61 6e 20 61 73 73 |ring int|o an ass|
|00004270| 6f 63 69 61 74 69 76 65 | 0a 23 20 20 20 20 20 20 |ociative|.# |
|00004280| 20 20 20 20 20 20 20 20 | 20 61 72 72 61 79 2e 0a | | array..|
|00004290| 73 75 62 20 57 46 44 65 | 63 6f 64 65 44 61 74 61 |sub WFDe|codeData|
|000042a0| 20 7b 0a 20 6c 6f 63 61 | 6c 20 28 25 64 61 74 61 | {. loca|l (%data|
|000042b0| 29 3b 0a 20 6c 6f 63 61 | 6c 20 28 40 74 6d 70 29 |);. loca|l (@tmp)|
|000042c0| 20 3d 20 73 70 6c 69 74 | 28 27 26 27 2c 40 5f 5b | = split|('&',@_[|
|000042d0| 30 5d 29 3b 0a 20 6c 6f | 63 61 6c 20 28 24 61 76 |0]);. lo|cal ($av|
|000042e0| 2c 20 40 61 76 70 29 3b | 0a 0a 20 66 6f 72 65 61 |, @avp);|.. forea|
|000042f0| 63 68 20 24 61 76 20 28 | 40 74 6d 70 29 20 7b 0a |ch $av (|@tmp) {.|
|00004300| 20 20 40 61 76 70 3d 73 | 70 6c 69 74 28 27 3d 27 | @avp=s|plit('='|
|00004310| 2c 24 61 76 29 3b 0a 20 | 20 24 64 61 74 61 7b 22 |,$av);. | $data{"|
|00004320| 40 61 76 70 5b 30 5d 22 | 7d 3d 26 57 46 44 65 63 |@avp[0]"|}=&WFDec|
|00004330| 6f 64 65 44 61 74 75 6d | 28 40 61 76 70 5b 31 5d |odeDatum|(@avp[1]|
|00004340| 29 3b 0a 20 7d 0a 20 72 | 65 74 75 72 6e 20 25 64 |);. }. r|eturn %d|
|00004350| 61 74 61 3b 0a 7d 0a 0a | 0a 23 23 23 23 23 23 23 |ata;.}..|.#######|
|00004360| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004370| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004380| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004390| 23 23 23 23 23 0a 23 0a | 23 20 57 46 44 65 63 6f |#####.#.|# WFDeco|
|000043a0| 64 65 50 61 74 68 49 6e | 66 6f 3a 20 67 65 74 20 |dePathIn|fo: get |
|000043b0| 76 61 6c 75 65 73 20 66 | 72 6f 6d 20 50 61 74 68 |values f|rom Path|
|000043c0| 20 49 6e 66 6f 0a 73 75 | 62 20 57 46 44 65 63 6f | Info.su|b WFDeco|
|000043d0| 64 65 50 61 74 68 49 6e | 66 6f 20 7b 0a 20 6c 6f |dePathIn|fo {. lo|
|000043e0| 63 61 6c 20 28 40 74 6d | 70 29 3d 73 70 6c 69 74 |cal (@tm|p)=split|
|000043f0| 28 27 2f 27 2c 24 45 4e | 56 7b 50 41 54 48 5f 49 |('/',$EN|V{PATH_I|
|00004400| 4e 46 4f 7d 29 3b 0a 20 | 72 65 74 75 72 6e 20 26 |NFO});. |return &|
|00004410| 57 46 44 65 63 6f 64 65 | 44 61 74 61 28 24 74 6d |WFDecode|Data($tm|
|00004420| 70 5b 24 23 74 6d 70 5d | 29 3b 0a 7d 0a 0a 0a 23 |p[$#tmp]|);.}...#|
|00004430| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004440| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004450| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004460| 23 23 23 23 23 23 23 23 | 23 23 23 0a 23 0a 23 20 |########|###.#.# |
|00004470| 57 46 52 65 61 64 50 61 | 72 73 65 3a 20 54 68 69 |WFReadPa|rse: Thi|
|00004480| 73 20 69 73 20 53 74 65 | 76 65 6e 20 45 2e 20 42 |s is Ste|ven E. B|
|00004490| 72 65 6e 6e 65 72 27 73 | 20 52 65 61 64 50 61 72 |renner's| ReadPar|
|000044a0| 73 65 20 72 6f 75 74 69 | 6e 65 0a 23 20 20 20 20 |se routi|ne.# |
|000044b0| 20 20 20 20 20 20 20 20 | 20 20 63 68 61 6e 67 65 | | change|
|000044c0| 64 20 73 6f 20 74 68 61 | 74 20 61 6e 20 61 73 73 |d so tha|t an ass|
|000044d0| 6f 63 69 61 74 65 20 61 | 72 72 61 79 20 69 73 20 |ociate a|rray is |
|000044e0| 72 65 74 75 72 6e 65 64 | 0a 23 20 20 20 20 20 20 |returned|.# |
|000044f0| 20 20 20 20 20 20 20 20 | 62 79 20 74 68 65 20 63 | |by the c|
|00004500| 61 6c 6c 2e 20 41 73 20 | 74 68 65 20 63 68 61 6e |all. As |the chan|
|00004510| 67 65 20 69 73 20 73 6f | 20 73 6d 61 6c 6c 2c 20 |ge is so| small, |
|00004520| 69 74 20 0a 23 20 20 20 | 20 20 20 20 20 20 20 20 |it .# | |
|00004530| 20 20 20 73 68 6f 75 6c | 64 20 62 65 20 63 6f 6e | shoul|d be con|
|00004540| 73 69 64 65 72 65 64 20 | 63 6f 70 79 72 69 67 68 |sidered |copyrigh|
|00004550| 74 20 53 2e 20 45 2e 20 | 42 72 65 6e 6e 65 72 2e |t S. E. |Brenner.|
|00004560| 0a 73 75 62 20 57 46 52 | 65 61 64 50 61 72 73 65 |.sub WFR|eadParse|
|00004570| 20 7b 0a 20 20 69 66 20 | 28 40 5f 29 20 7b 0a 20 | {. if |(@_) {. |
|00004580| 20 20 20 6c 6f 63 61 6c | 20 28 2a 69 6e 29 20 3d | local| (*in) =|
|00004590| 20 40 5f 3b 0a 20 20 7d | 0a 0a 20 20 6c 6f 63 61 | @_;. }|.. loca|
|000045a0| 6c 20 28 24 69 2c 20 24 | 6c 6f 63 2c 20 24 6b 65 |l ($i, $|loc, $ke|
|000045b0| 79 2c 20 24 76 61 6c 29 | 3b 0a 0a 20 20 23 20 52 |y, $val)|;.. # R|
|000045c0| 65 61 64 20 69 6e 20 74 | 65 78 74 0a 20 20 69 66 |ead in t|ext. if|
|000045d0| 20 28 24 45 4e 56 7b 27 | 52 45 51 55 45 53 54 5f | ($ENV{'|REQUEST_|
|000045e0| 4d 45 54 48 4f 44 27 7d | 20 65 71 20 22 47 45 54 |METHOD'}| eq "GET|
|000045f0| 22 29 20 7b 0a 20 20 20 | 20 24 69 6e 20 3d 20 24 |") {. | $in = $|
|00004600| 45 4e 56 7b 27 51 55 45 | 52 59 5f 53 54 52 49 4e |ENV{'QUE|RY_STRIN|
|00004610| 47 27 7d 3b 0a 20 20 7d | 20 65 6c 73 69 66 20 28 |G'};. }| elsif (|
|00004620| 24 45 4e 56 7b 27 52 45 | 51 55 45 53 54 5f 4d 45 |$ENV{'RE|QUEST_ME|
|00004630| 54 48 4f 44 27 7d 20 65 | 71 20 22 50 4f 53 54 22 |THOD'} e|q "POST"|
|00004640| 29 20 7b 0a 20 20 20 20 | 66 6f 72 20 28 24 69 20 |) {. |for ($i |
|00004650| 3d 20 30 3b 20 24 69 20 | 3c 20 24 45 4e 56 7b 27 |= 0; $i |< $ENV{'|
|00004660| 43 4f 4e 54 45 4e 54 5f | 4c 45 4e 47 54 48 27 7d |CONTENT_|LENGTH'}|
|00004670| 3b 20 24 69 2b 2b 29 20 | 7b 0a 20 20 20 20 20 20 |; $i++) |{. |
|00004680| 24 69 6e 20 2e 3d 20 67 | 65 74 63 3b 0a 20 20 20 |$in .= g|etc;. |
|00004690| 20 7d 0a 20 20 7d 20 0a | 0a 20 20 40 69 6e 20 3d | }. } .|. @in =|
|000046a0| 20 73 70 6c 69 74 28 2f | 26 2f 2c 24 69 6e 29 3b | split(/|&/,$in);|
|000046b0| 0a 0a 20 20 66 6f 72 65 | 61 63 68 20 24 69 20 28 |.. fore|ach $i (|
|000046c0| 30 20 2e 2e 20 24 23 69 | 6e 29 20 7b 0a 20 20 20 |0 .. $#i|n) {. |
|000046d0| 20 23 20 43 6f 6e 76 65 | 72 74 20 70 6c 75 73 27 | # Conve|rt plus'|
|000046e0| 73 20 74 6f 20 73 70 61 | 63 65 73 0a 20 20 20 20 |s to spa|ces. |
|000046f0| 24 69 6e 5b 24 69 5d 20 | 3d 7e 20 73 2f 5c 2b 2f |$in[$i] |=~ s/\+/|
|00004700| 20 2f 67 3b 0a 0a 20 20 | 20 20 23 20 43 6f 6e 76 | /g;.. | # Conv|
|00004710| 65 72 74 20 25 58 58 20 | 66 72 6f 6d 20 68 65 78 |ert %XX |from hex|
|00004720| 20 6e 75 6d 62 65 72 73 | 20 74 6f 20 61 6c 70 68 | numbers| to alph|
|00004730| 61 6e 75 6d 65 72 69 63 | 0a 20 20 20 20 24 69 6e |anumeric|. $in|
|00004740| 5b 24 69 5d 20 3d 7e 20 | 73 2f 25 28 2e 2e 29 2f |[$i] =~ |s/%(..)/|
|00004750| 70 61 63 6b 28 22 63 22 | 2c 68 65 78 28 24 31 29 |pack("c"|,hex($1)|
|00004760| 29 2f 67 65 3b 0a 0a 20 | 20 20 20 23 20 53 70 6c |)/ge;.. | # Spl|
|00004770| 69 74 20 69 6e 74 6f 20 | 6b 65 79 20 61 6e 64 20 |it into |key and |
|00004780| 76 61 6c 75 65 2e 0a 20 | 20 20 20 24 6c 6f 63 20 |value.. | $loc |
|00004790| 3d 20 69 6e 64 65 78 28 | 24 69 6e 5b 24 69 5d 2c |= index(|$in[$i],|
|000047a0| 22 3d 22 29 3b 0a 20 20 | 20 20 24 6b 65 79 20 3d |"=");. | $key =|
|000047b0| 20 73 75 62 73 74 72 28 | 24 69 6e 5b 24 69 5d 2c | substr(|$in[$i],|
|000047c0| 30 2c 24 6c 6f 63 29 3b | 0a 20 20 20 20 24 76 61 |0,$loc);|. $va|
|000047d0| 6c 20 3d 20 73 75 62 73 | 74 72 28 24 69 6e 5b 24 |l = subs|tr($in[$|
|000047e0| 69 5d 2c 24 6c 6f 63 2b | 31 29 3b 0a 20 20 20 20 |i],$loc+|1);. |
|000047f0| 24 69 6e 7b 24 6b 65 79 | 7d 20 2e 3d 20 27 5c 30 |$in{$key|} .= '\0|
|00004800| 27 20 69 66 20 28 64 65 | 66 69 6e 65 64 28 24 69 |' if (de|fined($i|
|00004810| 6e 7b 24 6b 65 79 7d 29 | 29 3b 20 23 20 5c 30 20 |n{$key})|); # \0 |
|00004820| 69 73 20 74 68 65 20 6d | 75 6c 74 69 70 6c 65 20 |is the m|ultiple |
|00004830| 73 65 70 61 72 61 74 6f | 72 0a 20 20 20 20 24 69 |separato|r. $i|
|00004840| 6e 7b 24 6b 65 79 7d 20 | 2e 3d 20 24 76 61 6c 3b |n{$key} |.= $val;|
|00004850| 0a 20 20 7d 0a 0a 20 20 | 72 65 74 75 72 6e 20 25 |. }.. |return %|
|00004860| 69 6e 3b 0a 7d 0a 0a 0a | 23 23 23 23 23 23 23 23 |in;.}...|########|
|00004870| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004880| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004890| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000048a0| 23 23 23 23 0a 23 0a 23 | 20 57 46 52 65 61 64 44 |####.#.#| WFReadD|
|000048b0| 42 46 69 6c 65 3a 20 67 | 69 76 65 6e 20 74 68 65 |BFile: g|iven the|
|000048c0| 20 6e 61 6d 65 20 6f 66 | 20 61 20 75 73 65 72 2c | name of| a user,|
|000048d0| 20 67 65 74 20 74 68 65 | 20 64 65 74 61 69 6c 73 | get the| details|
|000048e0| 20 6f 66 0a 23 20 20 20 | 20 20 20 20 20 20 20 20 | of.# | |
|000048f0| 20 20 20 20 74 68 61 74 | 20 75 73 65 72 20 66 72 | that| user fr|
|00004900| 6f 6d 20 74 68 65 20 64 | 61 74 61 62 61 73 65 20 |om the d|atabase |
|00004910| 66 69 6c 65 2e 0a 73 75 | 62 20 57 46 52 65 61 64 |file..su|b WFRead|
|00004920| 44 42 46 69 6c 65 20 7b | 0a 20 6c 6f 63 61 6c 20 |DBFile {|. local |
|00004930| 28 24 66 69 6c 65 29 20 | 3d 20 26 57 46 44 42 4e |($file) |= &WFDBN|
|00004940| 61 6d 65 28 40 5f 5b 30 | 5d 29 3b 0a 0a 20 72 65 |ame(@_[0|]);.. re|
|00004950| 74 75 72 6e 20 26 57 46 | 52 65 61 64 41 56 46 69 |turn &WF|ReadAVFi|
|00004960| 6c 65 28 24 66 69 6c 65 | 29 3b 0a 7d 0a 0a 23 23 |le($file|);.}..##|
|00004970| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004980| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004990| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000049a0| 23 23 23 23 23 23 23 23 | 23 23 0a 23 0a 23 20 57 |########|##.#.# W|
|000049b0| 46 52 65 61 64 41 56 46 | 69 6c 65 3a 20 67 69 76 |FReadAVF|ile: giv|
|000049c0| 65 6e 20 61 20 66 69 6c | 65 6e 61 6d 65 20 66 6f |en a fil|ename fo|
|000049d0| 72 20 61 6e 20 41 56 20 | 66 69 6c 65 2c 20 72 65 |r an AV |file, re|
|000049e0| 61 64 20 69 74 2e 0a 23 | 20 20 20 20 20 20 20 20 |ad it..#| |
|000049f0| 20 20 20 20 20 20 20 54 | 68 65 20 41 56 20 66 69 | T|he AV fi|
|00004a00| 6c 65 20 68 61 73 20 6c | 69 6e 65 73 20 74 68 61 |le has l|ines tha|
|00004a10| 74 20 72 65 70 72 65 73 | 65 6e 74 20 61 72 67 3d |t repres|ent arg=|
|00004a20| 76 61 6c 75 65 0a 23 20 | 20 20 20 20 20 20 20 20 |value.# | |
|00004a30| 20 20 20 20 20 20 54 68 | 65 20 61 72 67 20 61 6e | Th|e arg an|
|00004a40| 64 20 76 61 6c 75 65 20 | 68 61 76 65 20 62 65 65 |d value |have bee|
|00004a50| 6e 20 65 6e 63 6f 64 65 | 64 2e 0a 73 75 62 20 57 |n encode|d..sub W|
|00004a60| 46 52 65 61 64 41 56 46 | 69 6c 65 20 7b 0a 20 6c |FReadAVF|ile {. l|
|00004a70| 6f 63 61 6c 20 28 25 64 | 62 29 3b 0a 20 6c 6f 63 |ocal (%d|b);. loc|
|00004a80| 61 6c 20 28 40 6c 69 6e | 65 29 3b 0a 20 6c 6f 63 |al (@lin|e);. loc|
|00004a90| 61 6c 20 28 24 6c 6e 29 | 3b 0a 20 6c 6f 63 61 6c |al ($ln)|;. local|
|00004aa0| 20 28 2a 55 46 49 4c 45 | 29 3b 0a 20 6c 6f 63 61 | (*UFILE|);. loca|
|00004ab0| 6c 20 28 24 61 72 67 2c | 24 76 61 6c 75 65 29 3b |l ($arg,|$value);|
|00004ac0| 0a 20 6c 6f 63 61 6c 20 | 28 24 66 69 6c 65 29 20 |. local |($file) |
|00004ad0| 3d 20 40 5f 5b 30 5d 3b | 0a 0a 20 69 66 20 28 2d |= @_[0];|.. if (-|
|00004ae0| 72 20 24 66 69 6c 65 29 | 20 7b 0a 20 20 6f 70 65 |r $file)| {. ope|
|00004af0| 6e 28 55 46 49 4c 45 2c | 22 3c 24 66 69 6c 65 22 |n(UFILE,|"<$file"|
|00004b00| 29 7c 7c 72 65 74 75 72 | 6e 20 30 3b 0a 20 7d 0a |)||retur|n 0;. }.|
|00004b10| 20 65 6c 73 65 20 7b 72 | 65 74 75 72 6e 20 2d 31 | else {r|eturn -1|
|00004b20| 3b 7d 0a 20 70 75 73 68 | 28 40 6c 69 6e 65 2c 24 |;}. push|(@line,$|
|00004b30| 5f 29 20 77 68 69 6c 65 | 20 3c 55 46 49 4c 45 3e |_) while| <UFILE>|
|00004b40| 3b 0a 20 66 6f 72 65 61 | 63 68 20 24 6c 6e 20 28 |;. forea|ch $ln (|
|00004b50| 40 6c 69 6e 65 29 20 7b | 0a 20 20 24 6c 6e 20 3d |@line) {|. $ln =|
|00004b60| 7e 20 2f 5e 28 5b 5e 3d | 5d 2b 29 3d 28 2e 2b 29 |~ /^([^=|]+)=(.+)|
|00004b70| 5c 6e 2f 3b 0a 20 20 24 | 61 72 67 3d 26 57 46 44 |\n/;. $|arg=&WFD|
|00004b80| 65 63 6f 64 65 44 61 74 | 75 6d 28 24 31 29 3b 0a |ecodeDat|um($1);.|
|00004b90| 20 20 24 76 61 6c 75 65 | 3d 26 57 46 44 65 63 6f | $value|=&WFDeco|
|00004ba0| 64 65 44 61 74 75 6d 28 | 24 32 29 3b 0a 20 20 24 |deDatum(|$2);. $|
|00004bb0| 64 62 7b 22 24 61 72 67 | 22 7d 3d 24 76 61 6c 75 |db{"$arg|"}=$valu|
|00004bc0| 65 3b 0a 20 7d 0a 20 63 | 6c 6f 73 65 28 55 46 49 |e;. }. c|lose(UFI|
|00004bd0| 4c 45 29 3b 0a 20 72 65 | 74 75 72 6e 20 25 64 62 |LE);. re|turn %db|
|00004be0| 3b 0a 7d 0a 0a 23 23 23 | 23 23 23 23 23 23 23 23 |;.}..###|########|
|00004bf0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004c00| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004c10| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004c20| 23 0a 23 0a 23 20 57 46 | 57 72 69 74 65 44 42 46 |#.#.# WF|WriteDBF|
|00004c30| 69 6c 65 3a 20 67 69 76 | 65 6e 20 61 20 75 73 65 |ile: giv|en a use|
|00004c40| 72 20 6e 61 6d 65 20 61 | 6e 64 20 61 6e 20 61 73 |r name a|nd an as|
|00004c50| 73 6f 63 69 61 74 69 76 | 65 20 61 72 72 61 79 2c |sociativ|e array,|
|00004c60| 0a 23 20 20 20 77 72 69 | 74 65 20 61 20 64 61 74 |.# wri|te a dat|
|00004c70| 61 62 61 73 65 20 66 69 | 6c 65 20 77 69 74 68 20 |abase fi|le with |
|00004c80| 61 72 67 3d 76 61 6c 75 | 65 20 6c 69 6e 65 73 0a |arg=valu|e lines.|
|00004c90| 73 75 62 20 57 46 57 72 | 69 74 65 44 42 46 69 6c |sub WFWr|iteDBFil|
|00004ca0| 65 20 7b 0a 20 6c 6f 63 | 61 6c 20 28 24 75 73 65 |e {. loc|al ($use|
|00004cb0| 72 2c 25 64 62 29 20 3d | 20 40 5f 3b 0a 20 6c 6f |r,%db) =| @_;. lo|
|00004cc0| 63 61 6c 20 28 24 66 69 | 6c 65 29 20 3d 20 26 57 |cal ($fi|le) = &W|
|00004cd0| 46 44 42 4e 61 6d 65 28 | 24 75 73 65 72 29 3b 0a |FDBName(|$user);.|
|00004ce0| 20 72 65 74 75 72 6e 20 | 26 57 46 57 72 69 74 65 | return |&WFWrite|
|00004cf0| 41 56 46 69 6c 65 28 24 | 66 69 6c 65 2c 25 64 62 |AVFile($|file,%db|
|00004d00| 29 3b 0a 7d 0a 0a 23 23 | 23 23 23 23 23 23 23 23 |);.}..##|########|
|00004d10| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004d20| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004d30| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004d40| 23 23 0a 23 0a 23 20 57 | 46 57 72 69 74 65 41 56 |##.#.# W|FWriteAV|
|00004d50| 46 69 6c 65 3a 20 77 72 | 69 74 65 20 61 20 66 69 |File: wr|ite a fi|
|00004d60| 6c 65 20 6f 66 20 61 72 | 67 3d 76 61 6c 75 65 20 |le of ar|g=value |
|00004d70| 70 61 69 72 73 0a 23 0a | 73 75 62 20 57 46 57 72 |pairs.#.|sub WFWr|
|00004d80| 69 74 65 41 56 46 69 6c | 65 20 7b 0a 20 6c 6f 63 |iteAVFil|e {. loc|
|00004d90| 61 6c 20 28 24 6b 29 3b | 0a 20 6c 6f 63 61 6c 20 |al ($k);|. local |
|00004da0| 28 24 66 69 6c 65 2c 25 | 64 62 29 3d 40 5f 3b 0a |($file,%|db)=@_;.|
|00004db0| 20 6c 6f 63 61 6c 20 28 | 2a 55 46 49 4c 45 29 3b | local (|*UFILE);|
|00004dc0| 0a 0a 20 6f 70 65 6e 28 | 55 46 49 4c 45 2c 22 3e |.. open(|UFILE,">|
|00004dd0| 24 66 69 6c 65 22 29 7c | 7c 20 72 65 74 75 72 6e |$file")||| return|
|00004de0| 20 30 3b 0a 20 66 6f 72 | 65 61 63 68 20 24 6b 20 | 0;. for|each $k |
|00004df0| 28 6b 65 79 73 20 25 64 | 62 29 20 7b 0a 20 20 70 |(keys %d|b) {. p|
|00004e00| 72 69 6e 74 20 55 46 49 | 4c 45 20 26 57 46 45 6e |rint UFI|LE &WFEn|
|00004e10| 63 6f 64 65 44 61 74 75 | 6d 28 24 6b 29 2c 22 3d |codeDatu|m($k),"=|
|00004e20| 22 2c 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 26 |",. | &|
|00004e30| 57 46 45 6e 63 6f 64 65 | 44 61 74 75 6d 28 24 64 |WFEncode|Datum($d|
|00004e40| 62 7b 22 24 6b 22 7d 29 | 2c 22 5c 6e 22 3b 0a 20 |b{"$k"})|,"\n";. |
|00004e50| 7d 0a 20 72 65 74 75 72 | 6e 20 31 3b 0a 7d 0a 0a |}. retur|n 1;.}..|
|00004e60| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004e70| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004e80| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004e90| 23 23 23 23 23 23 23 23 | 23 23 23 23 0a 23 0a 23 |########|####.#.#|
|00004ea0| 20 57 46 44 42 4e 61 6d | 65 3a 20 67 69 76 65 6e | WFDBNam|e: given|
|00004eb0| 20 61 20 75 73 65 72 20 | 6e 61 6d 65 2c 20 72 65 | a user |name, re|
|00004ec0| 74 75 72 6e 20 74 68 65 | 20 66 69 6c 65 20 74 68 |turn the| file th|
|00004ed0| 61 74 20 63 6f 6e 74 61 | 69 6e 73 0a 23 20 20 20 |at conta|ins.# |
|00004ee0| 20 20 20 20 20 20 20 20 | 74 68 65 20 75 73 65 72 | |the user|
|00004ef0| 27 73 20 64 61 74 61 0a | 73 75 62 20 57 46 44 42 |'s data.|sub WFDB|
|00004f00| 4e 61 6d 65 20 7b 0a 20 | 72 65 74 75 72 6e 20 22 |Name {. |return "|
|00004f10| 41 42 53 57 46 44 42 41 | 53 45 22 20 2e 20 27 2f |ABSWFDBA|SE" . '/|
|00004f20| 27 20 2e 20 40 5f 5b 30 | 5d 3b 0a 7d 0a 0a 23 23 |' . @_[0|];.}..##|
|00004f30| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004f40| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004f50| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00004f60| 23 23 23 23 23 23 23 23 | 23 23 0a 23 0a 23 20 57 |########|##.#.# W|
|00004f70| 46 55 73 65 72 41 75 74 | 68 6f 72 69 73 65 64 3a |FUserAut|horised:|
|00004f80| 20 69 73 20 61 20 75 73 | 65 72 20 61 75 74 68 6f | is a us|er autho|
|00004f90| 72 69 73 65 64 20 74 6f | 20 61 63 63 65 73 73 20 |rised to| access |
|00004fa0| 61 20 66 6f 72 75 6d 3f | 0a 23 20 20 20 20 20 20 |a forum?|.# |
|00004fb0| 20 20 20 20 20 54 68 69 | 73 20 69 73 20 64 65 63 | Thi|s is dec|
|00004fc0| 69 64 65 64 20 62 79 20 | 6c 6f 6f 6b 69 6e 67 20 |ided by |looking |
|00004fd0| 61 74 20 74 68 65 20 63 | 6f 6e 74 72 6f 6c 20 66 |at the c|ontrol f|
|00004fe0| 69 6c 65 0a 23 20 20 20 | 20 20 20 20 20 20 20 20 |ile.# | |
|00004ff0| 74 6f 20 64 65 74 65 72 | 6d 69 6e 65 20 61 75 74 |to deter|mine aut|
|00005000| 68 6f 72 69 73 65 64 20 | 67 72 6f 75 70 73 2c 20 |horised |groups, |
|00005010| 74 68 65 6e 20 6c 6f 6f | 6b 69 6e 67 20 61 74 0a |then loo|king at.|
|00005020| 23 20 20 20 20 20 20 20 | 20 20 20 20 74 68 65 20 |# | the |
|00005030| 67 72 6f 75 70 20 66 69 | 6c 65 20 74 6f 20 73 65 |group fi|le to se|
|00005040| 65 20 69 66 20 74 68 61 | 74 20 75 73 65 72 20 62 |e if tha|t user b|
|00005050| 65 6c 6f 6e 67 73 20 74 | 6f 0a 23 20 20 20 20 20 |elongs t|o.# |
|00005060| 20 20 20 20 20 20 6f 6e | 65 20 6f 66 20 74 68 6f | on|e of tho|
|00005070| 73 65 20 61 75 74 68 6f | 72 69 73 65 64 20 67 72 |se autho|rised gr|
|00005080| 6f 75 70 73 2e 0a 23 0a | 73 75 62 20 57 46 55 73 |oups..#.|sub WFUs|
|00005090| 65 72 41 75 74 68 6f 72 | 69 73 65 64 20 7b 0a 20 |erAuthor|ised {. |
|000050a0| 6c 6f 63 61 6c 20 28 24 | 75 73 65 72 2c 24 66 69 |local ($|user,$fi|
|000050b0| 6c 65 29 3d 40 5f 3b 0a | 20 69 66 20 28 21 2d 72 |le)=@_;.| if (!-r|
|000050c0| 20 24 66 69 6c 65 29 20 | 7b 72 65 74 75 72 6e 20 | $file) |{return |
|000050d0| 30 7d 3b 0a 20 6c 6f 63 | 61 6c 20 28 25 63 6f 6e |0};. loc|al (%con|
|000050e0| 74 72 6f 6c 29 3d 26 57 | 46 52 65 61 64 41 56 46 |trol)=&W|FReadAVF|
|000050f0| 69 6c 65 28 24 66 69 6c | 65 29 3b 0a 20 6c 6f 63 |ile($fil|e);. loc|
|00005100| 61 6c 20 28 24 67 72 6f | 75 70 73 29 3d 24 63 6f |al ($gro|ups)=$co|
|00005110| 6e 74 72 6f 6c 7b 22 67 | 72 6f 75 70 73 22 7d 3b |ntrol{"g|roups"};|
|00005120| 0a 20 69 66 20 28 24 63 | 6f 6e 74 72 6f 6c 7b 22 |. if ($c|ontrol{"|
|00005130| 67 72 6f 75 70 73 22 7d | 20 21 7e 20 2f 5b 41 2d |groups"}| !~ /[A-|
|00005140| 5a 61 2d 7a 5d 2f 29 20 | 7b 72 65 74 75 72 6e 20 |Za-z]/) |{return |
|00005150| 31 3b 7d 0a 20 6c 6f 63 | 61 6c 20 28 2a 47 46 49 |1;}. loc|al (*GFI|
|00005160| 4c 45 29 3b 0a 0a 20 6f | 70 65 6e 28 47 46 49 4c |LE);.. o|pen(GFIL|
|00005170| 45 2c 22 3c 47 52 4f 55 | 50 46 49 4c 45 22 29 3b |E,"<GROU|PFILE");|
|00005180| 0a 20 77 68 69 6c 65 20 | 28 3c 47 46 49 4c 45 3e |. while |(<GFILE>|
|00005190| 29 20 7b 0a 20 20 69 66 | 20 28 2f 5e 28 5b 5e 3a |) {. if| (/^([^:|
|000051a0| 5d 2a 29 2e 2a 5b 20 3a | 5d 24 75 73 65 72 5b 20 |]*).*[ :|]$user[ |
|000051b0| 5c 6e 5d 2f 20 23 20 74 | 68 65 20 75 73 65 72 20 |\n]/ # t|he user |
|000051c0| 69 73 20 69 6e 20 61 20 | 67 72 6f 75 70 0a 20 20 |is in a |group. |
|000051d0| 20 26 26 20 28 24 67 72 | 6f 75 70 73 3d 7e 2f 5e | && ($gr|oups=~/^|
|000051e0| 24 31 20 2f 20 7c 7c 0a | 20 20 20 20 20 20 20 24 |$1 / ||.| $|
|000051f0| 67 72 6f 75 70 73 3d 7e | 2f 20 24 31 24 2f 20 7c |groups=~|/ $1$/ ||
|00005200| 7c 0a 20 20 20 20 20 20 | 20 24 67 72 6f 75 70 73 ||. | $groups|
|00005210| 3d 7e 2f 20 24 31 20 2f | 29 29 20 7b 0a 20 20 63 |=~/ $1 /|)) {. c|
|00005220| 6c 6f 73 65 20 28 47 46 | 49 4c 45 29 3b 72 65 74 |lose (GF|ILE);ret|
|00005230| 75 72 6e 20 31 3b 7d 0a | 20 7d 0a 20 63 6c 6f 73 |urn 1;}.| }. clos|
|00005240| 65 28 47 46 49 4c 45 29 | 3b 0a 20 72 65 74 75 72 |e(GFILE)|;. retur|
|00005250| 6e 20 30 3b 0a 7d 0a 0a | 23 23 23 23 23 23 23 23 |n 0;.}..|########|
|00005260| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005270| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005280| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005290| 23 23 23 23 0a 23 0a 23 | 20 57 46 55 73 65 72 49 |####.#.#| WFUserI|
|000052a0| 6e 47 72 6f 75 70 3a 20 | 69 73 20 61 20 75 73 65 |nGroup: |is a use|
|000052b0| 72 20 69 6e 20 61 20 67 | 72 6f 75 70 3f 0a 23 0a |r in a g|roup?.#.|
|000052c0| 73 75 62 20 57 46 55 73 | 65 72 49 6e 47 72 6f 75 |sub WFUs|erInGrou|
|000052d0| 70 20 7b 0a 20 6c 6f 63 | 61 6c 20 28 24 75 73 65 |p {. loc|al ($use|
|000052e0| 72 2c 24 67 72 6f 75 70 | 29 3d 40 5f 3b 0a 20 6c |r,$group|)=@_;. l|
|000052f0| 6f 63 61 6c 20 28 2a 47 | 46 49 4c 45 29 3b 0a 0a |ocal (*G|FILE);..|
|00005300| 20 6f 70 65 6e 28 47 46 | 49 4c 45 2c 22 3c 47 52 | open(GF|ILE,"<GR|
|00005310| 4f 55 50 46 49 4c 45 22 | 29 3b 0a 20 77 68 69 6c |OUPFILE"|);. whil|
|00005320| 65 20 28 3c 47 46 49 4c | 45 3e 29 20 7b 0a 20 20 |e (<GFIL|E>) {. |
|00005330| 69 66 20 28 2f 5e 24 67 | 72 6f 75 70 3a 24 75 73 |if (/^$g|roup:$us|
|00005340| 65 72 5b 20 5c 6e 5d 2f | 20 7c 7c 20 2f 5e 24 67 |er[ \n]/| || /^$g|
|00005350| 72 6f 75 70 3a 2e 2a 20 | 24 75 73 65 72 5b 20 5c |roup:.* |$user[ \|
|00005360| 6e 5d 2f 29 0a 09 7b 63 | 6c 6f 73 65 20 28 47 46 |n]/)..{c|lose (GF|
|00005370| 49 4c 45 29 3b 72 65 74 | 75 72 6e 20 31 3b 7d 0a |ILE);ret|urn 1;}.|
|00005380| 20 7d 0a 20 63 6c 6f 73 | 65 28 47 46 49 4c 45 29 | }. clos|e(GFILE)|
|00005390| 3b 0a 20 72 65 74 75 72 | 6e 20 30 3b 0a 7d 0a 0a |;. retur|n 0;.}..|
|000053a0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000053b0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000053c0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000053d0| 23 23 23 23 23 23 23 23 | 23 23 23 23 0a 23 0a 23 |########|####.#.#|
|000053e0| 20 57 46 52 65 61 64 50 | 61 73 73 77 64 46 69 6c | WFReadP|asswdFil|
|000053f0| 65 3a 0a 0a 73 75 62 20 | 57 46 52 65 61 64 50 61 |e:..sub |WFReadPa|
|00005400| 73 73 77 64 46 69 6c 65 | 20 7b 0a 20 6c 6f 63 61 |sswdFile| {. loca|
|00005410| 6c 20 28 2a 50 57 46 29 | 3b 0a 20 6f 70 65 6e 28 |l (*PWF)|;. open(|
|00005420| 50 57 46 2c 22 3c 50 41 | 53 53 57 44 46 49 4c 45 |PWF,"<PA|SSWDFILE|
|00005430| 22 29 20 7c 7c 20 64 69 | 65 20 22 63 6f 75 6c 64 |") || di|e "could|
|00005440| 6e 27 74 20 6f 70 65 6e | 20 70 61 73 73 77 6f 72 |n't open| passwor|
|00005450| 64 20 66 69 6c 65 5c 6e | 22 3b 0a 20 77 68 69 6c |d file\n|";. whil|
|00005460| 65 20 28 3c 50 57 46 3e | 29 20 7b 0a 20 20 2f 5e |e (<PWF>|) {. /^|
|00005470| 28 5b 5e 3a 5d 2a 29 3a | 28 2e 2a 29 5c 6e 24 2f |([^:]*):|(.*)\n$/|
|00005480| 3b 0a 20 20 24 50 57 46 | 7b 24 31 7d 3d 24 32 3b |;. $PWF|{$1}=$2;|
|00005490| 0a 20 7d 0a 20 63 6c 6f | 73 65 28 50 57 46 29 3b |. }. clo|se(PWF);|
|000054a0| 0a 0a 20 72 65 74 75 72 | 6e 20 25 50 57 46 3b 0a |.. retur|n %PWF;.|
|000054b0| 7d 0a 0a 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |}..#####|########|
|000054c0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000054d0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000054e0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 0a |########|#######.|
|000054f0| 23 0a 23 20 57 46 57 72 | 69 74 65 50 61 73 73 77 |#.# WFWr|itePassw|
|00005500| 64 46 69 6c 65 3a 0a 0a | 73 75 62 20 57 46 57 72 |dFile:..|sub WFWr|
|00005510| 69 74 65 50 61 73 73 77 | 64 46 69 6c 65 20 7b 0a |itePassw|dFile {.|
|00005520| 20 6c 6f 63 61 6c 20 28 | 25 70 77 64 73 29 3d 40 | local (|%pwds)=@|
|00005530| 5f 3b 0a 20 6c 6f 63 61 | 6c 20 28 24 70 77 64 29 |_;. loca|l ($pwd)|
|00005540| 3b 0a 20 6c 6f 63 61 6c | 20 28 2a 50 57 46 29 3b |;. local| (*PWF);|
|00005550| 0a 20 6f 70 65 6e 28 50 | 57 46 2c 22 3e 50 41 53 |. open(P|WF,">PAS|
|00005560| 53 57 44 46 49 4c 45 22 | 29 20 7c 7c 20 64 69 65 |SWDFILE"|) || die|
|00005570| 20 22 63 6f 75 6c 64 6e | 27 74 20 6f 70 65 6e 20 | "couldn|'t open |
|00005580| 70 61 73 73 77 6f 72 64 | 20 66 69 6c 65 5c 6e 22 |password| file\n"|
|00005590| 3b 0a 20 66 6f 72 65 61 | 63 68 20 24 70 77 64 20 |;. forea|ch $pwd |
|000055a0| 28 73 6f 72 74 20 6b 65 | 79 73 28 25 70 77 64 73 |(sort ke|ys(%pwds|
|000055b0| 29 29 20 7b 0a 20 20 20 | 20 70 72 69 6e 74 20 50 |)) {. | print P|
|000055c0| 57 46 20 22 24 70 77 64 | 3a 24 70 77 64 73 7b 24 |WF "$pwd|:$pwds{$|
|000055d0| 70 77 64 7d 5c 6e 22 3b | 0a 20 7d 0a 20 63 6c 6f |pwd}\n";|. }. clo|
|000055e0| 73 65 28 50 57 46 29 3b | 0a 7d 0a 0a 23 23 23 23 |se(PWF);|.}..####|
|000055f0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005600| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005610| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005620| 23 23 23 23 23 23 23 23 | 0a 23 0a 23 20 57 46 52 |########|.#.# WFR|
|00005630| 65 61 64 47 72 6f 75 70 | 46 69 6c 65 3a 20 28 64 |eadGroup|File: (d|
|00005640| 6f 65 73 6e 27 74 20 74 | 68 69 73 20 6c 6f 6f 6b |oesn't t|his look|
|00005650| 20 66 61 6d 69 6c 69 61 | 72 3f 29 0a 0a 73 75 62 | familia|r?)..sub|
|00005660| 20 57 46 52 65 61 64 47 | 72 6f 75 70 46 69 6c 65 | WFReadG|roupFile|
|00005670| 20 7b 0a 20 6c 6f 63 61 | 6c 20 28 2a 47 52 46 29 | {. loca|l (*GRF)|
|00005680| 3b 0a 20 6f 70 65 6e 28 | 47 52 46 2c 22 3c 47 52 |;. open(|GRF,"<GR|
|00005690| 4f 55 50 46 49 4c 45 22 | 29 20 7c 7c 20 64 69 65 |OUPFILE"|) || die|
|000056a0| 20 22 63 6f 75 6c 64 6e | 27 74 20 6f 70 65 6e 20 | "couldn|'t open |
|000056b0| 67 72 6f 75 70 20 66 69 | 6c 65 5c 6e 22 3b 0a 20 |group fi|le\n";. |
|000056c0| 77 68 69 6c 65 20 28 3c | 47 52 46 3e 29 20 7b 0a |while (<|GRF>) {.|
|000056d0| 20 20 2f 5e 28 5b 5e 3a | 5d 2a 29 3a 20 2a 28 2e | /^([^:|]*): *(.|
|000056e0| 2a 29 5c 6e 24 2f 3b 0a | 20 20 24 47 52 46 7b 24 |*)\n$/;.| $GRF{$|
|000056f0| 31 7d 3d 24 32 3b 0a 20 | 7d 0a 20 63 6c 6f 73 65 |1}=$2;. |}. close|
|00005700| 28 47 52 46 29 3b 0a 0a | 20 72 65 74 75 72 6e 20 |(GRF);..| return |
|00005710| 25 47 52 46 3b 0a 7d 0a | 0a 23 23 23 23 23 23 23 |%GRF;.}.|.#######|
|00005720| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005730| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005740| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005750| 23 23 23 23 23 0a 23 0a | 23 20 57 46 57 72 69 74 |#####.#.|# WFWrit|
|00005760| 65 47 72 6f 75 70 46 69 | 6c 65 3a 0a 0a 73 75 62 |eGroupFi|le:..sub|
|00005770| 20 57 46 57 72 69 74 65 | 47 72 6f 75 70 46 69 6c | WFWrite|GroupFil|
|00005780| 65 20 7b 0a 20 6c 6f 63 | 61 6c 20 28 25 67 72 70 |e {. loc|al (%grp|
|00005790| 73 29 3d 40 5f 3b 0a 20 | 6c 6f 63 61 6c 20 28 24 |s)=@_;. |local ($|
|000057a0| 67 72 70 29 3b 0a 20 6c | 6f 63 61 6c 20 28 2a 47 |grp);. l|ocal (*G|
|000057b0| 52 46 29 3b 0a 20 6f 70 | 65 6e 28 47 52 46 2c 22 |RF);. op|en(GRF,"|
|000057c0| 3e 47 52 4f 55 50 46 49 | 4c 45 22 29 20 7c 7c 20 |>GROUPFI|LE") || |
|000057d0| 64 69 65 20 22 63 6f 75 | 6c 64 6e 27 74 20 6f 70 |die "cou|ldn't op|
|000057e0| 65 6e 20 67 72 6f 75 70 | 20 66 69 6c 65 5c 6e 22 |en group| file\n"|
|000057f0| 3b 0a 20 66 6f 72 65 61 | 63 68 20 24 67 72 70 20 |;. forea|ch $grp |
|00005800| 28 73 6f 72 74 20 6b 65 | 79 73 28 25 67 72 70 73 |(sort ke|ys(%grps|
|00005810| 29 29 20 7b 0a 20 20 20 | 20 70 72 69 6e 74 20 47 |)) {. | print G|
|00005820| 52 46 20 22 24 67 72 70 | 3a 24 67 72 70 73 7b 24 |RF "$grp|:$grps{$|
|00005830| 67 72 70 7d 5c 6e 22 3b | 0a 20 7d 0a 20 63 6c 6f |grp}\n";|. }. clo|
|00005840| 73 65 28 47 52 46 29 3b | 0a 7d 0a 0a 23 23 23 23 |se(GRF);|.}..####|
|00005850| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005860| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005870| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005880| 23 23 23 23 23 23 23 23 | 0a 23 0a 23 20 57 46 4c |########|.#.# WFL|
|00005890| 69 73 74 4e 65 77 52 65 | 67 73 3a 20 72 65 74 75 |istNewRe|gs: retu|
|000058a0| 72 6e 20 61 20 6c 69 73 | 74 20 6f 66 20 6e 65 77 |rn a lis|t of new|
|000058b0| 20 72 65 67 69 73 74 65 | 72 65 64 20 75 73 65 72 | registe|red user|
|000058c0| 73 2e 0a 73 75 62 20 57 | 46 4c 69 73 74 4e 65 77 |s..sub W|FListNew|
|000058d0| 52 65 67 73 20 7b 0a 20 | 6c 6f 63 61 6c 20 28 2a |Regs {. |local (*|
|000058e0| 75 73 65 72 73 2c 20 40 | 61 75 73 65 72 73 2c 20 |users, @|ausers, |
|000058f0| 40 6e 75 73 65 72 73 2c | 20 24 75 29 3b 0a 20 6f |@nusers,| $u);. o|
|00005900| 70 65 6e 64 69 72 28 44 | 49 52 2c 22 41 42 53 57 |pendir(D|IR,"ABSW|
|00005910| 46 44 42 41 53 45 22 29 | 3b 0a 20 40 61 75 73 65 |FDBASE")|;. @ause|
|00005920| 72 73 3d 72 65 61 64 64 | 69 72 28 44 49 52 29 3b |rs=readd|ir(DIR);|
|00005930| 0a 20 63 6c 6f 73 65 28 | 44 49 52 29 3b 0a 20 25 |. close(|DIR);. %|
|00005940| 75 73 65 72 73 3d 26 57 | 46 52 65 61 64 50 61 73 |users=&W|FReadPas|
|00005950| 73 77 64 46 69 6c 65 3b | 0a 20 66 6f 72 65 61 63 |swdFile;|. foreac|
|00005960| 68 20 24 75 20 28 40 61 | 75 73 65 72 73 29 20 7b |h $u (@a|users) {|
|00005970| 0a 20 20 20 20 6e 65 78 | 74 20 69 66 20 24 75 20 |. nex|t if $u |
|00005980| 65 71 20 27 2e 27 3b 0a | 20 20 20 20 6e 65 78 74 |eq '.';.| next|
|00005990| 20 69 66 20 24 75 20 65 | 71 20 27 2e 2e 27 3b 0a | if $u e|q '..';.|
|000059a0| 20 20 20 20 6e 65 78 74 | 20 69 66 20 24 75 20 65 | next| if $u e|
|000059b0| 71 20 27 61 64 6d 69 6e | 2e 68 74 6d 6c 27 3b 0a |q 'admin|.html';.|
|000059c0| 20 20 20 20 6e 65 78 74 | 20 69 66 20 24 75 20 65 | next| if $u e|
|000059d0| 71 20 27 77 66 72 6f 6f | 74 27 3b 0a 20 20 20 20 |q 'wfroo|t';. |
|000059e0| 6e 65 78 74 20 69 66 20 | 24 75 20 65 71 20 27 41 |next if |$u eq 'A|
|000059f0| 43 43 45 53 53 46 49 4c | 45 27 3b 0a 20 20 20 20 |CCESSFIL|E';. |
|00005a00| 6e 65 78 74 20 69 66 20 | 27 50 41 53 53 57 44 46 |next if |'PASSWDF|
|00005a10| 49 4c 45 27 20 3d 7e 20 | 2f 24 75 2f 3b 0a 20 20 |ILE' =~ |/$u/;. |
|00005a20| 20 20 6e 65 78 74 20 69 | 66 20 27 47 52 4f 55 50 | next i|f 'GROUP|
|00005a30| 46 49 4c 45 27 20 3d 7e | 20 2f 24 75 2f 3b 0a 20 |FILE' =~| /$u/;. |
|00005a40| 20 20 20 6e 65 78 74 20 | 69 66 20 24 75 73 65 72 | next |if $user|
|00005a50| 73 7b 24 75 7d 20 6e 65 | 20 27 27 3b 0a 20 20 20 |s{$u} ne| '';. |
|00005a60| 20 70 75 73 68 28 40 6e | 75 73 65 72 73 2c 24 75 | push(@n|users,$u|
|00005a70| 29 3b 0a 20 7d 0a 20 72 | 65 74 75 72 6e 20 73 6f |);. }. r|eturn so|
|00005a80| 72 74 20 40 6e 75 73 65 | 72 73 3b 0a 7d 0a 0a 23 |rt @nuse|rs;.}..#|
|00005a90| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005aa0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005ab0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005ac0| 23 23 23 23 23 23 23 23 | 23 23 23 0a 23 0a 23 20 |########|###.#.# |
|00005ad0| 57 46 50 72 6f 74 65 63 | 74 53 70 65 63 69 61 6c |WFProtec|tSpecial|
|00005ae0| 73 0a 23 0a 23 20 70 72 | 6f 74 65 63 74 20 73 70 |s.#.# pr|otect sp|
|00005af0| 65 63 69 61 6c 20 74 68 | 69 6e 67 73 20 69 6e 20 |ecial th|ings in |
|00005b00| 61 20 73 74 72 69 6e 67 | 0a 73 75 62 20 57 46 50 |a string|.sub WFP|
|00005b10| 72 6f 74 65 63 74 53 70 | 65 63 69 61 6c 73 20 7b |rotectSp|ecials {|
|00005b20| 0a 20 6c 6f 63 61 6c 20 | 28 24 73 29 20 3d 20 40 |. local |($s) = @|
|00005b30| 5f 3b 0a 20 24 73 20 3d | 7e 20 73 2f 5c 24 2f 5c |_;. $s =|~ s/\$/\|
|00005b40| 5c 5c 24 2f 67 3b 0a 20 | 24 73 20 3d 7e 20 73 2f |\\$/g;. |$s =~ s/|
|00005b50| 5c 5e 2f 5c 5c 5c 5e 2f | 67 3b 0a 20 24 73 20 3d |\^/\\\^/|g;. $s =|
|00005b60| 7e 20 73 2f 5c 26 2f 5c | 5c 5c 26 2f 67 3b 0a 20 |~ s/\&/\|\\&/g;. |
|00005b70| 24 73 20 3d 7e 20 73 2f | 5c 7c 2f 5c 5c 5c 7c 2f |$s =~ s/|\|/\\\|/|
|00005b80| 67 3b 0a 20 24 73 20 3d | 7e 20 73 2f 5c 22 2f 5c |g;. $s =|~ s/\"/\|
|00005b90| 5c 5c 22 2f 67 3b 0a 20 | 24 73 20 3d 7e 20 73 2f |\\"/g;. |$s =~ s/|
|00005ba0| 5c 2a 2f 5c 5c 5c 2a 2f | 67 3b 0a 20 24 73 20 3d |\*/\\\*/|g;. $s =|
|00005bb0| 7e 20 73 2f 5c 3f 2f 5c | 5c 5c 3f 2f 67 3b 0a 20 |~ s/\?/\|\\?/g;. |
|00005bc0| 24 73 20 3d 7e 20 73 2f | 5c 27 2f 5c 5c 5c 27 2f |$s =~ s/|\'/\\\'/|
|00005bd0| 67 3b 0a 20 24 73 20 3d | 7e 20 73 2f 5c 20 2f 5c |g;. $s =|~ s/\ /\|
|00005be0| 5c 5c 20 2f 67 3b 0a 20 | 24 73 20 3d 7e 20 73 2f |\\ /g;. |$s =~ s/|
|00005bf0| 5c 40 2f 5c 5c 5c 40 2f | 67 3b 0a 20 24 73 20 3d |\@/\\\@/|g;. $s =|
|00005c00| 7e 20 73 2f 5c 23 2f 5c | 5c 5c 23 2f 67 3b 0a 20 |~ s/\#/\|\\#/g;. |
|00005c10| 24 73 20 3d 7e 20 73 2f | 5c 25 2f 5c 5c 5c 25 2f |$s =~ s/|\%/\\\%/|
|00005c20| 67 3b 0a 20 72 65 74 75 | 72 6e 20 24 73 3b 0a 7d |g;. retu|rn $s;.}|
|00005c30| 0a 0a 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |..######|########|
|00005c40| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005c50| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005c60| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 0a 23 |########|######.#|
|00005c70| 0a 23 20 57 46 57 72 61 | 70 48 54 4d 4c 43 6f 64 |.# WFWra|pHTMLCod|
|00005c80| 65 73 3a 20 70 72 6f 74 | 65 63 74 20 3e 20 3c 20 |es: prot|ect > < |
|00005c90| 26 20 61 6e 64 20 22 0a | 73 75 62 20 57 46 57 72 |& and ".|sub WFWr|
|00005ca0| 61 70 48 54 4d 4c 43 6f | 64 65 73 20 7b 0a 20 6c |apHTMLCo|des {. l|
|00005cb0| 6f 63 61 6c 20 28 24 73 | 74 72 69 6e 67 29 3d 40 |ocal ($s|tring)=@|
|00005cc0| 5f 3b 0a 20 24 73 74 72 | 69 6e 67 20 3d 7e 20 73 |_;. $str|ing =~ s|
|00005cd0| 5e 26 5e 26 61 6d 70 5c | 3b 5e 67 3b 0a 20 24 73 |^&^&amp\|;^g;. $s|
|00005ce0| 74 72 69 6e 67 20 3d 7e | 20 73 5e 3c 5e 26 6c 74 |tring =~| s^<^&lt|
|00005cf0| 5c 3b 5e 67 3b 0a 20 24 | 73 74 72 69 6e 67 20 3d |\;^g;. $|string =|
|00005d00| 7e 20 73 5e 3e 5e 26 67 | 74 5c 3b 5e 67 3b 0a 20 |~ s^>^&g|t\;^g;. |
|00005d10| 24 73 74 72 69 6e 67 20 | 3d 7e 20 73 5e 22 5e 26 |$string |=~ s^"^&|
|00005d20| 71 75 6f 74 5c 3b 5e 67 | 3b 0a 20 72 65 74 75 72 |quot\;^g|;. retur|
|00005d30| 6e 20 24 73 74 72 69 6e | 67 3b 0a 7d 0a 0a 23 23 |n $strin|g;.}..##|
|00005d40| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005d50| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005d60| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005d70| 23 23 23 23 23 23 23 23 | 23 23 0a 23 0a 23 20 57 |########|##.#.# W|
|00005d80| 46 55 6e 77 72 61 70 48 | 54 4d 4c 43 6f 64 65 73 |FUnwrapH|TMLCodes|
|00005d90| 3a 20 75 6e 70 72 6f 74 | 65 63 74 20 3e 20 3c 20 |: unprot|ect > < |
|00005da0| 26 20 61 6e 64 20 22 0a | 73 75 62 20 57 46 55 6e |& and ".|sub WFUn|
|00005db0| 77 72 61 70 48 54 4d 4c | 43 6f 64 65 73 20 7b 0a |wrapHTML|Codes {.|
|00005dc0| 20 6c 6f 63 61 6c 20 28 | 24 73 74 72 69 6e 67 29 | local (|$string)|
|00005dd0| 3d 40 5f 3b 0a 20 24 73 | 74 72 69 6e 67 20 3d 7e |=@_;. $s|tring =~|
|00005de0| 20 73 5e 26 6c 74 5c 3b | 5e 3c 5e 67 3b 0a 20 24 | s^&lt\;|^<^g;. $|
|00005df0| 73 74 72 69 6e 67 20 3d | 7e 20 73 5e 26 67 74 5c |string =|~ s^&gt\|
|00005e00| 3b 5e 3e 5e 67 3b 0a 20 | 24 73 74 72 69 6e 67 20 |;^>^g;. |$string |
|00005e10| 3d 7e 20 73 5e 26 71 75 | 6f 74 5c 3b 5e 22 5e 67 |=~ s^&qu|ot\;^"^g|
|00005e20| 3b 0a 20 24 73 74 72 69 | 6e 67 20 3d 7e 20 73 5e |;. $stri|ng =~ s^|
|00005e30| 26 61 6d 70 5c 3b 5e 26 | 5e 67 3b 0a 20 72 65 74 |&amp\;^&|^g;. ret|
|00005e40| 75 72 6e 20 24 73 74 72 | 69 6e 67 3b 0a 7d 0a 0a |urn $str|ing;.}..|
|00005e50| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005e60| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005e70| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00005e80| 23 23 23 23 23 23 23 23 | 23 23 23 23 0a 23 0a 23 |########|####.#.#|
|00005e90| 20 57 46 44 61 74 65 54 | 6f 4e 75 6d 62 65 72 3a | WFDateT|oNumber:|
|00005ea0| 20 63 6f 6e 76 65 72 74 | 20 61 20 63 74 69 6d 65 | convert| a ctime|
|00005eb0| 20 64 61 74 65 20 69 6e | 74 6f 20 61 20 6e 75 6d | date in|to a num|
|00005ec0| 62 65 72 0a 73 75 62 20 | 57 46 44 61 74 65 54 6f |ber.sub |WFDateTo|
|00005ed0| 4e 75 6d 62 65 72 20 7b | 0a 20 6c 6f 63 61 6c 20 |Number {|. local |
|00005ee0| 28 24 64 61 74 65 29 20 | 3d 40 5f 3b 24 64 61 74 |($date) |=@_;$dat|
|00005ef0| 65 3d 7e 73 2f 5c 6e 2f | 2f 67 3b 0a 20 6c 6f 63 |e=~s/\n/|/g;. loc|
|00005f00| 61 6c 20 28 40 64 61 74 | 65 29 20 3d 73 70 6c 69 |al (@dat|e) =spli|
|00005f10| 74 28 27 20 27 2c 24 64 | 61 74 65 29 3b 0a 20 6c |t(' ',$d|ate);. l|
|00005f20| 6f 63 61 6c 20 28 24 64 | 61 79 2c 24 6d 6f 6e 74 |ocal ($d|ay,$mont|
|00005f30| 68 2c 24 79 65 61 72 29 | 3d 20 28 40 64 61 74 65 |h,$year)|= (@date|
|00005f40| 5b 32 5d 2c 40 64 61 74 | 65 5b 31 5d 2c 40 64 61 |[2],@dat|e[1],@da|
|00005f50| 74 65 5b 34 5d 29 3b 0a | 20 46 4f 4f 3a 20 7b 0a |te[4]);.| FOO: {.|
|00005f60| 20 20 20 20 24 6d 6f 6e | 74 68 3d 30 2c 20 6c 61 | $mon|th=0, la|
|00005f70| 73 74 20 46 4f 4f 20 69 | 66 20 24 6d 6f 6e 74 68 |st FOO i|f $month|
|00005f80| 20 65 71 20 22 4a 61 6e | 22 3b 0a 20 20 20 20 24 | eq "Jan|";. $|
|00005f90| 6d 6f 6e 74 68 3d 31 2c | 20 24 64 61 79 2b 3d 33 |month=1,| $day+=3|
|00005fa0| 31 2c 20 6c 61 73 74 20 | 46 4f 4f 20 69 66 20 24 |1, last |FOO if $|
|00005fb0| 6d 6f 6e 74 68 20 65 71 | 20 22 46 65 62 22 3b 0a |month eq| "Feb";.|
|00005fc0| 20 20 20 20 24 6d 6f 6e | 74 68 3d 32 2c 20 24 64 | $mon|th=2, $d|
|00005fd0| 61 79 2b 3d 35 39 2c 20 | 6c 61 73 74 20 46 4f 4f |ay+=59, |last FOO|
|00005fe0| 20 69 66 20 24 6d 6f 6e | 74 68 20 65 71 20 22 4d | if $mon|th eq "M|
|00005ff0| 61 72 22 3b 0a 20 20 20 | 20 24 6d 6f 6e 74 68 3d |ar";. | $month=|
|00006000| 33 2c 20 24 64 61 79 2b | 3d 39 30 2c 20 6c 61 73 |3, $day+|=90, las|
|00006010| 74 20 46 4f 4f 20 69 66 | 20 24 6d 6f 6e 74 68 20 |t FOO if| $month |
|00006020| 65 71 20 22 41 70 72 22 | 3b 0a 20 20 20 20 24 6d |eq "Apr"|;. $m|
|00006030| 6f 6e 74 68 3d 34 2c 20 | 24 64 61 79 2b 3d 31 32 |onth=4, |$day+=12|
|00006040| 30 2c 20 6c 61 73 74 20 | 46 4f 4f 20 69 66 20 24 |0, last |FOO if $|
|00006050| 6d 6f 6e 74 68 20 65 71 | 20 22 4d 61 79 22 3b 0a |month eq| "May";.|
|00006060| 20 20 20 20 24 6d 6f 6e | 74 68 3d 35 2c 20 24 64 | $mon|th=5, $d|
|00006070| 61 79 2b 3d 31 35 31 2c | 20 6c 61 73 74 20 46 4f |ay+=151,| last FO|
|00006080| 4f 20 69 66 20 24 6d 6f | 6e 74 68 20 65 71 20 22 |O if $mo|nth eq "|
|00006090| 4a 75 6e 22 3b 0a 20 20 | 20 20 24 6d 6f 6e 74 68 |Jun";. | $month|
|000060a0| 3d 36 2c 20 24 64 61 79 | 2b 3d 31 38 31 2c 20 6c |=6, $day|+=181, l|
|000060b0| 61 73 74 20 46 4f 4f 20 | 69 66 20 24 6d 6f 6e 74 |ast FOO |if $mont|
|000060c0| 68 20 65 71 20 22 4a 75 | 6c 22 3b 0a 20 20 20 20 |h eq "Ju|l";. |
|000060d0| 24 6d 6f 6e 74 68 3d 37 | 2c 20 24 64 61 79 2b 3d |$month=7|, $day+=|
|000060e0| 32 31 32 2c 20 6c 61 73 | 74 20 46 4f 4f 20 69 66 |212, las|t FOO if|
|000060f0| 20 24 6d 6f 6e 74 68 20 | 65 71 20 22 41 75 67 22 | $month |eq "Aug"|
|00006100| 3b 0a 20 20 20 20 24 6d | 6f 6e 74 68 3d 38 2c 20 |;. $m|onth=8, |
|00006110| 24 64 61 79 2b 3d 32 34 | 33 2c 20 6c 61 73 74 20 |$day+=24|3, last |
|00006120| 46 4f 4f 20 69 66 20 24 | 6d 6f 6e 74 68 20 65 71 |FOO if $|month eq|
|00006130| 20 22 53 65 70 22 3b 0a | 20 20 20 20 24 6d 6f 6e | "Sep";.| $mon|
|00006140| 74 68 3d 39 2c 20 24 64 | 61 79 2b 3d 32 37 33 2c |th=9, $d|ay+=273,|
|00006150| 20 6c 61 73 74 20 46 4f | 4f 20 69 66 20 24 6d 6f | last FO|O if $mo|
|00006160| 6e 74 68 20 65 71 20 22 | 4f 63 74 22 3b 0a 20 20 |nth eq "|Oct";. |
|00006170| 20 20 24 6d 6f 6e 74 68 | 3d 31 30 2c 20 24 64 61 | $month|=10, $da|
|00006180| 79 2b 3d 33 30 34 2c 20 | 6c 61 73 74 20 46 4f 4f |y+=304, |last FOO|
|00006190| 20 69 66 20 24 6d 6f 6e | 74 68 20 65 71 20 22 4e | if $mon|th eq "N|
|000061a0| 6f 76 22 3b 0a 20 20 20 | 20 24 6d 6f 6e 74 68 3d |ov";. | $month=|
|000061b0| 31 31 2c 20 24 64 61 79 | 2b 3d 33 33 34 2c 20 6c |11, $day|+=334, l|
|000061c0| 61 73 74 20 46 4f 4f 20 | 69 66 20 24 6d 6f 6e 74 |ast FOO |if $mont|
|000061d0| 68 20 65 71 20 22 44 65 | 63 22 3b 0a 20 7d 0a 20 |h eq "De|c";. }. |
|000061e0| 72 65 74 75 72 6e 20 24 | 64 61 79 2b 28 33 36 35 |return $|day+(365|
|000061f0| 2a 24 79 65 61 72 29 3b | 0a 7d 0a 0a 31 3b 23 72 |*$year);|.}..1;#r|
|00006200| 65 74 75 72 6e 20 74 72 | 75 65 0a 23 23 23 23 23 |eturn tr|ue.#####|
|00006210| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00006220| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00006230| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 0a 23 0a |########|#####.#.|
|00006240| 23 20 57 46 44 65 63 6f | 64 65 44 61 74 61 3a 20 |# WFDeco|deData: |
|00006250| 64 65 63 6f 64 65 20 61 | 20 64 61 74 61 20 73 74 |decode a| data st|
|00006260| 72 69 6e 67 20 69 6e 74 | 6f 20 61 6e 20 61 73 73 |ring int|o an ass|
|00006270| 6f 63 69 61 74 69 76 65 | 0a 23 20 20 20 20 20 20 |ociative|.# |
|00006280| 20 20 20 20 20 20 20 20 | 20 61 72 72 61 79 2e 0a | | array..|
|00006290| 73 75 62 20 57 46 44 65 | 63 6f 64 65 44 61 74 61 |sub WFDe|codeData|
|000062a0| 20 7b 0a 20 6c 6f 63 61 | 6c 20 28 25 64 61 74 61 | {. loca|l (%data|
|000062b0| 29 3b 0a 20 6c 6f 63 61 | 6c 20 28 40 74 6d 70 29 |);. loca|l (@tmp)|
|000062c0| 20 3d 20 73 70 6c 69 74 | 28 27 26 27 2c 40 5f 5b | = split|('&',@_[|
|000062d0| 30 5d 29 3b 0a 20 6c 6f | 63 61 6c 20 28 24 61 76 |0]);. lo|cal ($av|
|000062e0| 2c 20 40 61 76 70 29 3b | 0a 0a 20 66 6f 72 65 61 |, @avp);|.. forea|
|000062f0| 63 68 20 24 61 76 20 28 | 40 74 6d 70 29 20 7b 0a |ch $av (|@tmp) {.|
|00006300| 20 20 40 61 76 70 3d 73 | 70 6c 69 74 28 27 3d 27 | @avp=s|plit('='|
|00006310| 2c 24 61 76 29 3b 0a 20 | 20 24 64 61 74 61 7b 22 |,$av);. | $data{"|
|00006320| 40 61 76 70 5b 30 5d 22 | 7d 3d 26 57 46 44 65 63 |@avp[0]"|}=&WFDec|
|00006330| 6f 64 65 44 61 74 75 6d | 28 40 61 76 70 5b 31 5d |odeDatum|(@avp[1]|
|00006340| 29 3b 0a 20 7d 0a 20 72 | 65 74 75 72 6e 20 25 64 |);. }. r|eturn %d|
|00006350| 61 74 61 3b 0a 7d 0a 0a | 0a 23 23 23 23 23 23 23 |ata;.}..|.#######|
|00006360| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00006370| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00006380| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00006390| 23 23 23 23 23 0a 23 0a | 23 20 57 46 44 65 63 6f |#####.#.|# WFDeco|
|000063a0| 64 65 50 61 74 68 49 6e | 66 6f 3a 20 67 65 74 20 |dePathIn|fo: get |
|000063b0| 76 61 6c 75 65 73 20 66 | 72 6f 6d 20 50 61 74 68 |values f|rom Path|
|000063c0| 20 49 6e 66 6f 0a 73 75 | 62 20 57 46 44 65 63 6f | Info.su|b WFDeco|
|000063d0| 64 65 50 61 74 68 49 6e | 66 6f 20 7b 0a 20 6c 6f |dePathIn|fo {. lo|
|000063e0| 63 61 6c 20 28 40 74 6d | 70 29 3d 73 70 6c 69 74 |cal (@tm|p)=split|
|000063f0| 28 27 2f 27 2c 24 45 4e | 56 7b 50 41 54 48 5f 49 |('/',$EN|V{PATH_I|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.